Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 三级在线观看,中文字幕一区二区三区在线不卡 ,久久精品日本免费线

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          個(gè)人博客美化1之全局字體與代碼高亮

          、前因

          攻破技術(shù)難點(diǎn)時(shí),總會(huì)隨機(jī)進(jìn)入到別人的網(wǎng)站中,有時(shí)看到別人的博客那叫一個(gè)養(yǎng)眼悅目,心里難免有點(diǎn)小波瀾。

          雖然知道它要么買的,要么用的動(dòng)態(tài)博客,但沒人家美就沒人家美,咱不能失了風(fēng)度。

          再者,自己網(wǎng)站當(dāng)初也是過五關(guān)斬六將,選框架選主題才把它孵化出來的,不至于就不愛了。

          因此呢,為了解決內(nèi)心的小波瀾,稍微加點(diǎn)css,js美化一下,還是能做到的。

          ps:操作對(duì)象為hugo博客,理論靜態(tài)博客或者H5都能使用。

          二、全局字體

          先把字體改下,找到css或者新建個(gè)custom.css把下面代碼扔進(jìn)去。

          @import url('https://fonts.googleapis.com/css2?family=ZCOOL+KuaiLe&display=swap');
          *{font-family: 'ZCOOL KuaiLe', cursive;}
          

          字體再這里找:https://fonts.google.com/

          效果如下:

          PS:有些字體英文辨識(shí)度比較模糊,你可以放置兩個(gè)字體,英文在前面,中文在后面。

          @import url('https://fonts.googleapis.com/css2?family=ZCOOL+KuaiLe&display=swap');
          @import url('https://fonts.googleapis.com/css2?family=Kadwa&display=swap');
          *{font-family: 'Kadwa','ZCOOL KuaiLe';}
          

          三、代碼塊高亮

          hugo配置文件config.toml中甩入下列代碼

          [markup]
            [markup.highlight]
              anchorLineNos = false
              codeFences = true
              guessSyntax = true
              hl_Lines = ''
              lineAnchors = ''
              lineNoStart = 1
              lineNos = false
              lineNumbersInTable = true
              noClasses = true
              style = 'murphy'
              tabWidth = 4
          

          解釋幾個(gè)常用的:

          guessSyntax:猜測(cè)語法,針對(duì)代碼塊沒有寫語言的

          lineNos:是否顯示行號(hào)

          style:高亮樣式,從在里找 https://xyproto.github.io/splash/docs/all.html

          如果你的主題集成了highlightjs,可以使用它,不過你得把上面的注釋掉,免得互相渲染了。

          config.toml中加入下列代碼

          highlightjs = true
          highlightjsCDN = "https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/highlight.min.js"
          highlightjsExtraLanguages = ["ocaml"]
          highlightjsTheme = "gradient-light"
          highlightjsThemeDark = "paraiso-dark"
          

          主題在這里找: https://highlightjs.org/static/demo/

          效果如下:

          四、代碼塊一鍵復(fù)制

          新建css或者放入已有的css中

          /*start copy-to-clipboard */
          
          .highlight {
              position: relative;
          }
          
          .highlight pre {
              padding-right: 75px;
              background-color:#f8f8f8 !important;
          }
          
          .highlight-copy-btn {
              position: absolute;
              top: 7px;
              right: 7px;
              border: 0;
              border-radius: 4px;
              padding: 1px;
              font-size: 0.8em;
              line-height: 1.8;
              color: #fff;
              background-color: #777;
              min-width: 55px;
              text-align: center;
          }
          
          .highlight-copy-btn:hover {
              background-color: #666;
          }
          
          /*end copy-to-clipboard */
          
          

          新建js或者放入已有js中

          // start copy-to-clipboard
          
          (function() {
            'use strict';
          
            if(!document.queryCommandSupported('copy')) {
              return;
            }
          
            function flashCopyMessage(el, msg) {
              el.textContent = msg;
              setTimeout(function() {
                el.textContent = "Copy";
              }, 1000);
            }
          
            function selectText(node) {
              var selection = window.getSelection();
              var range = document.createRange();
              range.selectNodeContents(node);
              selection.removeAllRanges();
              selection.addRange(range);
              return selection;
            }
          
            function addCopyButton(containerEl) {
              var copyBtn = document.createElement("button");
              copyBtn.className = "highlight-copy-btn";
              copyBtn.textContent = "Copy";
          
              var codeEl = containerEl.firstElementChild;
              copyBtn.addEventListener('click', function() {
                try {
                  var selection = selectText(codeEl);
                  document.execCommand('copy');
                  selection.removeAllRanges();
          
                  flashCopyMessage(copyBtn, 'Copied!')
                } catch(e) {
                  console && console.log(e);
                  flashCopyMessage(copyBtn, 'Failed :\'(')
                }
              });
          
              containerEl.appendChild(copyBtn);
            }
          
            // Add copy button to code blocks
            var highlightBlocks = document.getElementsByClassName('highlight');
            Array.prototype.forEach.call(highlightBlocks, addCopyButton);
          })();
          
          //end copy-to-clipboard
          
          

          加入config.toml配置文件中

          [params.advanced]
            customCSS = ["css/custom.css"]
            customJS = ["js/custom.js"]
          

          效果:

          五、總結(jié)

          前端的玩意太多了,互相替換的也多,我也不太喜歡侵入式強(qiáng)的框架,只能慢慢整了,先完成再完美。

          收工。

          JavaScript 全局屬性和方法可用于創(chuàng)建Javascript對(duì)象。

          JavaScript 全局屬性

          屬性描述
          Infinity代表正的無窮大的數(shù)值。
          NaN指示某個(gè)值是不是數(shù)字值。
          undefined指示未定義的值。

          JavaScript 全局函數(shù)

          函數(shù)描述
          decodeURI()解碼某個(gè)編碼的 URI。
          decodeURIComponent()解碼一個(gè)編碼的 URI 組件。
          encodeURI()把字符串編碼為 URI。
          encodeURIComponent()把字符串編碼為 URI 組件。
          escape()對(duì)字符串進(jìn)行編碼。
          eval()計(jì)算 JavaScript 字符串,并把它作為腳本代碼來執(zhí)行。
          isFinite()檢查某個(gè)值是否為有窮大的數(shù)。
          isNaN()檢查某個(gè)值是否是數(shù)字。
          Number()把對(duì)象的值轉(zhuǎn)換為數(shù)字。
          parseFloat()解析一個(gè)字符串并返回一個(gè)浮點(diǎn)數(shù)。
          parseInt()解析一個(gè)字符串并返回一個(gè)整數(shù)。
          String()把對(duì)象的值轉(zhuǎn)換為字符串。
          unescape()對(duì)由 escape() 編碼的字符串進(jìn)行解碼。

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!

          疊樣式表(Cascading Style Sheet,簡(jiǎn)稱:CSS)是為網(wǎng)頁添加樣式的代碼。本節(jié)將介紹 CSS 的基礎(chǔ)知識(shí),并解答類似問題:怎樣將文本設(shè)置為黑色或紅色?怎樣將內(nèi)容顯示在屏幕的特定位置?怎樣用背景圖片或顏色來裝飾網(wǎng)頁?

          CSS 究竟什么來頭?

          和 HTML 類似,CSS 也不是真正的編程語言,甚至不是標(biāo)記語言。它是一門樣式表語言,這也就是說人們可以用它來選擇性地為 HTML 元素添加樣式。舉例來說,要選擇一個(gè) HTML 頁面里所有的段落元素,然后將其中的文本改成紅色,可以這樣寫 CSS:

          p {
            color: red;
          }

          不妨試一下:首先新建一個(gè) styles 文件夾,在其中新建一個(gè) style.css 文件,將這三行 CSS 保存在這個(gè)新文件中。

          然后再將該 CSS 文件連接至 HTML 文檔,否則 CSS 代碼不會(huì)對(duì) HTML 文檔在瀏覽器里的顯示效果有任何影響。(如果你沒有完成前幾節(jié)的實(shí)踐,請(qǐng)復(fù)習(xí)處理文件 和 HTML 基礎(chǔ)。在筆記本里有這個(gè)方面的內(nèi)容!)

          1、打開 index.html 文件,然后將下面一行粘貼到文檔頭(也就是 <head></head> 標(biāo)簽之間)。

          <link href="styles/style.css" rel="stylesheet">

          2、保存 index.html 并用瀏覽器將其打開。應(yīng)該看到以下頁面:

          如果段落文字變紅,那么祝賀你,你已經(jīng)成功地邁出了 CSS 學(xué)習(xí)的第一步。

          “CSS 規(guī)則集”詳解

          讓我們來仔細(xì)看一看上述CSS:

          整個(gè)結(jié)構(gòu)稱為 規(guī)則集(通常簡(jiǎn)稱“規(guī)則”),各部分釋義如下:

          • 選擇器(Selector
          • HTML 元素的名稱位于規(guī)則集開始。它選擇了一個(gè)或者多個(gè)需要添加樣式的元素(在這個(gè)例子中就是 p 元素)。要給不同元素添加樣式只需要更改選擇器就行了。
          • 聲明(Declaration
          • 一個(gè)單獨(dú)的規(guī)則,比如說 color: red; 用來指定添加樣式元素的屬性
          • 屬性(Properties
          • 改變 HTML 元素樣式的途徑。(本例中 color 就是 `` 元素的屬性。)CSS 中,由編寫人員決定修改哪個(gè)屬性以改變規(guī)則。
          • 屬性的值(Property value
          • 在屬性的右邊,冒號(hào)后面即屬性的值,它從指定屬性的眾多外觀中選擇一個(gè)值(我們除了 red 之外還有很多屬性值可以用于 color )。

          注意其他重要的語法:

          • 每個(gè)規(guī)則集(除了選擇器的部分)都應(yīng)該包含在成對(duì)的大括號(hào)里({})。
          • 在每個(gè)聲明里要用冒號(hào)(:)將屬性與屬性值分隔開。
          • 在每個(gè)規(guī)則集里要用分號(hào)(;)將各個(gè)聲明分隔開。

          如果要同時(shí)修改多個(gè)屬性,只需要將它們用分號(hào)隔開,就像這樣:

          p {
            color: red;
            width: 500px;
            border: 1px solid black;
          }

          多元素選擇

          也可以選擇多種類型的元素并為它們添加一組相同的樣式。將不同的選擇器用逗號(hào)分開。例如:

          p, li, h1 {
            color: red;
          }

          不同類型的選擇器

          選擇器有許多不同的類型。上面只介紹了元素選擇器,用來選擇 HTML 文檔中給定的元素。但是選擇的操作可以更加具體。下面是一些常用的選擇器類型:

          選擇器名稱

          選擇的內(nèi)容

          示例

          元素選擇器(也稱作標(biāo)簽或類型選擇器)

          所有指定(該)類型的 HTML 元素

          p 選擇 <p>

          ID 選擇器

          具有特定 ID 的元素(單一 HTML 頁面中,每個(gè) ID 只對(duì)應(yīng)一個(gè)元素,一個(gè)元素只對(duì)應(yīng)一個(gè) ID)

          #my-id 選擇 <p id="my-id"><a id="my-id">

          類選擇器

          具有特定類的元素(單一頁面中,一個(gè)類可以有多個(gè)實(shí)例)

          .my-class 選擇 <p class="my-class"><a class="my-class">

          屬性選擇器

          擁有特定屬性的元素

          img[src] 選擇 <img src="myimage.png"> 而不是 <img>

          偽(Pseudo)類選擇器

          特定狀態(tài)下的特定元素(比如鼠標(biāo)指針懸停)

          a:hover 僅在鼠標(biāo)指針懸停在鏈接上時(shí)選擇 <a>

          選擇器的種類遠(yuǎn)不止于此,更多信息請(qǐng)參閱 選擇器。

          字體和文本

          譯注:再一次說明,中文字體文件較大,不適合直接用于 Web Font。

          在探索了一些 CSS 基礎(chǔ)后,我們來把更多規(guī)則和信息添加至 style.css 中,從而讓示例更美觀。首先,讓字體和文本變得更漂亮。

          第一步:找到之前Google Font 輸出的地址。并以<link>元素的形式添加進(jìn)index.html文檔頭(<head></head>之間的任意位置)。代碼如下:

           <link href="https://fonts.font.im/css?family=Open+Sans" rel="stylesheet" type="text/css"> 

          以上代碼為當(dāng)前網(wǎng)頁下載 Open Sans 字體,從而使自定義 CSS 中可以對(duì) HTML 元素應(yīng)用這個(gè)字體。

          第二步:接下來,刪除 style.css 文件中已有的規(guī)則。雖然測(cè)試是成功的了,但是紅字看起來并不太舒服。

          第三步:將下列代碼添加到相應(yīng)的位置,用你在 Google Fonts 找到的字體替代 font-family 中的占位行。( font-family 意味著你想要你的文本使用的字體。)這條規(guī)則首先為整個(gè)頁面設(shè)定了一個(gè)全局字體和字號(hào)(因?yàn)?<html> 是整個(gè)頁面的父元素,而且它所有的子元素都會(huì)繼承相同的 font-sizefont-family):

          html {
            /* px 表示 “像素(pixels)”: 基礎(chǔ)字號(hào)為 10 像素 */
            font-size: 10px;
            /* Google fonts 輸出的 CSS */
            font-family: 'Open Sans', sans-serif;
          }

          注:CSS 文檔中所有位于 /**/ 之間的內(nèi)容都是 CSS 注釋,它會(huì)被瀏覽器在渲染代碼時(shí)忽略。你可以在這里寫下對(duì)你現(xiàn)在要做的事情有幫助的筆記。

          譯注:/*``*/ 不可嵌套,/*這樣的注釋是/*不行*/的*/。CSS 不接受 // 注釋。

          接下來為文檔體內(nèi)的元素(<h1> (en-US)、<li><p>)設(shè)置字號(hào)。將標(biāo)題居中顯示,并為正文設(shè)置行高和字間距,從而提高頁面的可讀性。

             h1 {
               font-size: 60px;
               text-align: center;
             }
             
             p, li {
               font-size: 16px;
               /* line-height 后而可以跟不同的參數(shù),如果是數(shù)字,就是當(dāng)前字體大小乘上數(shù)字 */
               line-height: 2;
               letter-spacing: 1px;
             }

          可以隨時(shí)調(diào)整這些 px 值來獲得滿意的結(jié)果,以下是大體效果:

          一切皆盒子

          編寫 CSS 時(shí)你會(huì)發(fā)現(xiàn),你的工作好像是圍繞著一個(gè)一個(gè)盒子展開的——設(shè)置尺寸、顏色、位置,等等。頁面里大部分 HTML 元素都可以被看作若干層疊的盒子。



          并不意外,CSS 布局主要就是基于盒模型的。每個(gè)占據(jù)頁面空間的塊都有這樣的屬性:

          • padding:即內(nèi)邊距,圍繞著內(nèi)容(比如段落)的空間。
          • border:即邊框,緊接著內(nèi)邊距的線。
          • margin:即外邊距,圍繞元素外部的空間。



          這里還使用了:

          • width :元素的寬度
          • background-color :元素內(nèi)容和內(nèi)邊距底下的顏色
          • color :元素內(nèi)容(通常是文本)的顏色
          • text-shadow :為元素內(nèi)的文本設(shè)置陰影
          • display :設(shè)置元素的顯示模式(暫略)

          開始在頁面中添加更多 CSS 吧!大膽將這些新規(guī)則都添加到頁面的底部,而不要糾結(jié)改變屬性值會(huì)帶來什么結(jié)果。

          更改頁面顏色

          html{
            background-color:#00539f;
          }

          這條規(guī)則將整個(gè)頁面的背景顏色設(shè)置為 所計(jì)劃的顏色。

          文檔體格式設(shè)置

          body{
             width:600px;
             margin:0 auto;
             background-color:#ff9500;
             padding:0 20px 20px 20px;
             border:5px solid black;
          }

          現(xiàn)在是 <body> 元素。以上條聲明,我們來逐條查看:

          • width: 600px; —— 強(qiáng)制頁面永遠(yuǎn)保持 600 像素寬。
          • margin: 0 auto; —— 為 marginpadding 等屬性設(shè)置兩個(gè)值時(shí),第一個(gè)值代表元素的上方下方(在這個(gè)例子中設(shè)置為 0),而第二個(gè)值代表左邊右邊(在這里,auto 是一個(gè)特殊的值,意思是水平方向上左右對(duì)稱)。你也可以使用一個(gè),三個(gè)或四個(gè)值,參考 這里 。
          • background-color: #FF9500; —— 如前文所述,指定元素的背景顏色。我們給 body 用了一種略微偏紅的橘色以與深藍(lán)色的 `` 元素形成反差,你也可以嘗試其它顏色。
          • padding: 0 20px 20px 20px; —— 我們給內(nèi)邊距設(shè)置了四個(gè)值來讓內(nèi)容四周產(chǎn)生一點(diǎn)空間。這一次我們不設(shè)置上方的內(nèi)邊距,設(shè)置右邊,下方,左邊的內(nèi)邊距為20像素。值以上、右、下、左的順序排列。
          • border: 5px solid black; —— 直接為 body 設(shè)置 5 像素的黑色實(shí)線邊框。

          定位頁面主標(biāo)題并添加樣式

          h1{
            margin: 0;
            padding:20px 0;
            color: #00539f;
            text-shadow:3px 3px 1px black
          }

          你可能發(fā)現(xiàn)頁面的頂部有一個(gè)難看的間隙,那是因?yàn)闉g覽器會(huì)在沒有任何 CSS 的情況下 給 <h1>en-US等元素設(shè)置一些默認(rèn)樣式。但這并不是個(gè)好主意,因?yàn)槲覀兿M粋€(gè)沒有任何樣式的網(wǎng)頁也有基本的可讀性。為了去掉那個(gè)間隙,我們通過設(shè)置margin: 0;來覆蓋默認(rèn)樣式。

          至此,我們已經(jīng)把標(biāo)題的上下內(nèi)邊距設(shè)置為 20 像素,并且將標(biāo)題文本與 HTML 的背景顏色設(shè)為一致。

          需要注意的是,這里使用了一個(gè) text-shadow 屬性,它可以為元素中的文本提供陰影。四個(gè)值含義如下:

          • 第一個(gè)值設(shè)置水平偏移值 —— 即陰影右移的像素?cái)?shù)(負(fù)值左移)。
          • 第二個(gè)值設(shè)置垂直偏移值 —— 即陰影下移的像素?cái)?shù)(負(fù)值上移)。
          • 第三個(gè)值設(shè)置陰影的模糊半徑 —— 值越大產(chǎn)生的陰影越模糊。
          • 第四個(gè)值設(shè)置陰影的基色。

          不妨嘗試不同的值看看能得出什么結(jié)果。

          圖像居中

          img{
            display:block;
            margin:0 auto;
          }

          最后,我們把圖像居中來使頁面更美觀。可以復(fù)用 body 的margin: 0 auto,但是需要一點(diǎn)點(diǎn)調(diào)整。<body>元素是塊級(jí)元素,意味著它占據(jù)了頁面的空間并且能夠賦予外邊距和其他改變間距的值。而圖片是內(nèi)聯(lián)元素,不具備塊級(jí)元素的一些功能。所以為了使圖像有外邊距,我們必須使用display: block 給予其塊級(jí)行為。

          注:以上說明假定所選圖片小于頁面寬度(600 pixels)。更大的圖片會(huì)溢出 body 并占據(jù)頁面的其他位置。要解決這個(gè)問題,可以:

          1)使用 圖片編輯器 來減小圖片寬度; 2)用 CSS 限制圖片大小,即減小 <img> 元素 width 屬性的值(比如 400 px)。

          注:如果你暫時(shí)不能理解 display: block 和塊級(jí)元素與行內(nèi)元素的差別也沒關(guān)系;隨著你對(duì) CSS 學(xué)習(xí)的深入,你將明白這個(gè)問題。

          小結(jié)

          如果你按部就班完成本文的實(shí)踐,那么最終可以得到以下頁面


          相關(guān)推薦:

          前端新手看過來,手把手帶你輕松上手html的實(shí)操


          主站蜘蛛池模板: 日韩精品一区二三区中文| 香蕉久久av一区二区三区| 国产精品免费一区二区三区| 久久精品无码一区二区日韩AV| 一区二区三区四区精品视频| 无码国产精品一区二区免费式影视| 亚洲乱码一区二区三区国产精品| 中文字幕日韩一区二区三区不| 国产福利一区二区| 国产av一区最新精品| 久久精品国内一区二区三区| 伦精品一区二区三区视频| 亚欧色一区W666天堂| 无码人妻一区二区三区在线视频 | 亚洲综合国产一区二区三区| 无码精品人妻一区二区三区影院| 国产嫖妓一区二区三区无码| 成人无码精品一区二区三区| 婷婷亚洲综合一区二区| 日韩一区二区三区免费体验| 国产一区在线观看免费| 国产伦精品一区二区三区不卡| 亚洲AV无码一区二区二三区软件| 亚洲国产精品一区二区第一页| 中文字幕一区二区三区免费视频 | 视频精品一区二区三区| 亚洲sm另类一区二区三区| 怡红院AV一区二区三区| 国产一区在线视频观看| 一区二区三区四区国产| 日本在线观看一区二区三区| 视频在线观看一区二区三区| 伊人精品视频一区二区三区| 成人免费av一区二区三区| 精品一区二区三区在线视频| 久久综合精品国产一区二区三区| 久久精品无码一区二区app| 人妻AV一区二区三区精品| 乱码精品一区二区三区 | 末成年女AV片一区二区| 中文字幕av日韩精品一区二区|