DIY cnblog——背景漸變切換

  • 2019 年 10 月 6 日
  • 筆記

進來的小夥伴應該已經看過了我的博客樣式,但還是貼張圖先:

先大致說一下實現的思路,然後把代碼貼出來供小夥伴們參考。

由於不是特別技術性的文章,格式就放寬鬆一點,跟着意識流走吧。

先跟大家分享一個漸變背景素材的網站:

https://webgradients.com/

大家進去會發現是這樣的:

這是一個CSS做的漸變特效,複製了CSS之後就可以直接用了,複製的代碼是

background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%);

我在做漸變背景的思路大致是這樣的,挑選出喜歡的漸變特效,創建一個數組保存,之後採用隨機數和定時器來切換背景顏色。

小夥伴們按照序號來讀會比較清晰

<script>      var bc = [   //1.創建一個數組保存漸變的顏色          "linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%)",          "linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%)",          "linear-gradient(to top, #fdcbf1 0%, #fdcbf1 1%, #e6dee9 100%)",          "linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%)",          "linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%)",          "linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%)",          "linear-gradient(to top, #d299c2 0%, #fef9d7 100%)",          "linear-gradient(to top, #9890e3 0%, #b1f4cf 100%)",          "linear-gradient(to top, #cd9cf2 0%, #f6f3ff 100%)",          "linear-gradient(to top, #ebbba7 0%, #cfc7f8 100%)",          "linear-gradient(to top, #fff1eb 0%, #ace0f9 100%)",          "linear-gradient(to top, #accbee 0%, #e7f0fd 100%)",          "linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%)",          "linear-gradient(to top, #6a85b6 0%, #bac8e0 100%)",          "linear-gradient(to top, #9795f0 0%, #fbc8d4 100%)",          "linear-gradient(to top, #88d3ce 0%, #6e45e2 100%)",          "linear-gradient(to top, #d9afd9 0%, #97d9e1 100%)",          "linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%)",          "linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%)",          "linear-gradient(to top, #dad4ec 0%, #dad4ec 1%, #f3e7e9 100%)",          "linear-gradient(to top, #bdc2e8 0%, #bdc2e8 1%, #e6dee9 100%)",          "linear-gradient(-225deg, #2CD8D5 0%, #C5C1FF 56%, #FFBAC3 100%)"      ];      changeBackground();//4.突發奇想,除了每隔10s切換一次,還有哪些其他觸發事件呢?沒錯,就是刷新      //頁面每次刷新都會重新加載代碼,所以changeBackground();主要是為了在刷新頁面時更換背景顏色的。        function changeBackground() {  //2.定義生成隨機數和切換背景的函數          var color_string = bc[Math.floor(Math.random() * 22)];          $("body").css("background-image", color_string);        }      $(function () {          $("body").css("background-attachment", "fixed");          setInterval(changeBackground, 10000);  //3.設置定時器,每隔10s更換一次背景      });  </script>

關於背景漸變的部分就這麼多了。


除了背景漸變之外,還有一些其他的DIY代碼我也一起貼出來(下面是第一次DIY的全部代碼,感興趣的小夥伴們也可以自己試試)

大家還是按照序號來看就好了:

對了,先註明,我是默認選了下面這款皮膚:

<style>      #header {   //1.由於要自定義頁首,所以將原先的頁首隱藏掉          display: none;      }        body { //3.這個是修改背景顏色在滾動狀態下依然是垂直平鋪的          background: fixed;      }        body,      div,      h1,      h2,      h3,      h4,      h5,      h6,      ul,      li,      img {   //4.這個是定義邊框的圓角的,像分類和分頁都是圓角顯示          border-radius: 15px;      }        .sidebar-block {      //5.這是一個細節,分類的背景默認是白色,如果有圓角邊框的話就會多出來,於是將背景顏//色設置為透明          background-color: transparent;      }        #sideBar li {      //6.這是設置分類側欄邊標籤的背景顏色和字體大小          background-color: white;          font-size: 16px;      }        .sidebar-block ul li a:hover {       //7.設置右側分類標籤鏈接屬性,當鼠標進去時,字體顏色為黑色,字體增大          color: black;          font-size: 17px;      }        .sidebar-block h3 {      //7.這是設置隨筆分類那四個字的樣式的,其中背景為漸變          border: 0px;          margin-bottom: 3px;          background-image: linear-gradient(to right, #434343 0%, black 100%);          font-size: 25px;      }        .sidebar-block ul li {       //8.寫不下去了,這樣寫得累死,直接跳到下面,分享一下怎麼調代碼          line-height: 1;      }        .catListView {          background: transparent;      }        #sideBar ul {          border: 0px;      }        .class-mouseenter {          width: 400px;      }          .day .postTitle2 {          font-size: 28px;      }        .c_b_p_desc {          font-size: 20px;      }        #topics .postTitle {          text-align: center;          font-size: 35px;          margin-bottom: 100px;          border-bottom: 2px solid;      }        #sideBar {          position: absolute;          right: 3%;      }        .day {          width: 125%;      }        #topics {          width: 125%;      }      #cnblogs_post_body p      {          font-size: 18px      }      #cnblogs_post_body ul li      {          font-size: 16px;      }  </style>  <div id="header-new">   //2.這個就是自定義的頁首了,刪掉了導航欄,就留了一個標題      <div id="blogTitle">          <h1>              <a id="Header1_HeaderTitle" class="headermaintitle" href="https://www.cnblogs.com/noneplus/">Noneplus</a>          </h1>      </div>  </div>  //  <script>      var bc = [          "linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%)",          "linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%)",          "linear-gradient(to top, #fdcbf1 0%, #fdcbf1 1%, #e6dee9 100%)",          "linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%)",          "linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%)",          "linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%)",          "linear-gradient(to top, #d299c2 0%, #fef9d7 100%)",          "linear-gradient(to top, #9890e3 0%, #b1f4cf 100%)",          "linear-gradient(to top, #cd9cf2 0%, #f6f3ff 100%)",          "linear-gradient(to top, #ebbba7 0%, #cfc7f8 100%)",          "linear-gradient(to top, #fff1eb 0%, #ace0f9 100%)",          "linear-gradient(to top, #accbee 0%, #e7f0fd 100%)",          "linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%)",          "linear-gradient(to top, #6a85b6 0%, #bac8e0 100%)",          "linear-gradient(to top, #9795f0 0%, #fbc8d4 100%)",          "linear-gradient(to top, #88d3ce 0%, #6e45e2 100%)",          "linear-gradient(to top, #d9afd9 0%, #97d9e1 100%)",          "linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%)",          "linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%)",          "linear-gradient(to top, #dad4ec 0%, #dad4ec 1%, #f3e7e9 100%)",          "linear-gradient(to top, #bdc2e8 0%, #bdc2e8 1%, #e6dee9 100%)",          "linear-gradient(-225deg, #2CD8D5 0%, #C5C1FF 56%, #FFBAC3 100%)"      ];      changeBackground();        function changeBackground() {          var color_string = bc[Math.floor(Math.random() * 22)];          $("body").css("background-image", color_string);        }      $(function () {          $("body").css("background-attachment", "fixed");          setInterval(changeBackground, 10000);      });      </script>

首先需要一個瀏覽器(廢話),這裡我用Chrome瀏覽器來截圖,其他的應該差不了多少。

按下神奇的F12鍵:

這個該怎麼描述呢。。。

···

思考30s…..

···

兩個框,其中一個Elements是網頁的源代碼,右邊的Styles框就是對於的CSS樣式了。

嗯,知道這一點之後,再看一個神奇的鍵:

這個鍵,當你點擊它一下,會神奇的變藍,這是啥意思呢?

截了幾十次終於截下來了:

就是在這個頁面里選擇一個元素然後審查它。

大致的效果是這樣的,當你點它一下變藍以後:

然後我選擇點擊這個頁首:

然後在這邊就會定位到哪段代碼以及它的Style:

walk to a question:如何調試代碼呢?

由於博客園支持定製的部分有限,更多的是調製CSS來控制頁面顯示。

比如說,我想讓頁首的標題變大一點:

額,給自己挖了個坑:(調試之前要先定位到標題)

然後這邊:

已經定位過來了,然後修改箭頭所指方向:

點擊空白處,就會新增一個屬性:(可以慢慢試,網頁是不會壞的)

然後我已經設置了font-size為100px:

頁面顯示:

再次刷新頁面時,新增的部分就會消失。

洋洋洒洒寫了很多,大致頁面就是這樣調試的,調幾步之後就把對應的代碼保存起來。然後提交到cnblog看看實際的效果。由於內置了模板,很多函數和預先定義的CSS不方便修改,所以,如果調試代碼沒有起作用,放寬心換條代碼試試也許就行了。

改完之後,將代碼複製到頁首即可:

cnblog提供了四個可以上傳代碼的地方,上傳到頁首會生成一個id為page_begin_html的div,

其他三個地方,頁腳,側邊欄和頁面定製CSS應該都是向頁面中插入代碼:

除了html會產生標籤外,css,script除了頁面定製CSS中,應該都是兼容的。

那麼這篇文章就到這裡了,做一個小結吧:

  • 背景漸變切換
  • 樣式定製與Chrome調試
  • 代碼上傳(to be continued)

see you next time ^_^