整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          如何在網頁中使用 web 字體?

          前,瀏覽器只能展示本地安裝的字體。如果字體未安裝,網頁顯示效果會大打折扣。

          為了解決這個問題,CSS 引入 web 字體,允許瀏覽器從服務器下載字體,下載完成后再重新渲染字體。

          字體文件格式

          使用 web 字體前,需要了解常用的字體文件格式。

          TTF 字體文件,即 TrueType 字體,是由蘋果和微軟在 20 世紀 80 年代末開發的字體標準。它是 macOS 和 Windows 操作系統使用最廣泛的字體格式。

          OTF 字體文件,即 OpenType 字體,是一種可縮放的計算機字體格式。它建立在 TrueType 基礎上,是微軟的注冊商標。OpenType 字體目前在主要的計算機平臺上廣泛使用。

          WOFF 字體文件,即 The Web Open Font Format 字體,是一種用于網頁的字體格式,2009 年開發,如今是 W3C(萬維網聯盟)的推薦標準。WOFF 本質是 OpenType 或 TrueType 字體,但是經過壓縮并附加額外的元數據。在帶寬受限的網絡中,WOFF 能更好的支持從服務器到客戶端的字體傳輸。

          WOFF 2.0 字體文件,相比于 WOFF,提供了更高的壓縮效率

          SVG 字體,將 SVG 用作顯示文本時的字形。SVG 1.1 規范定義了一個字體規范,允許在 SVG 文檔中創建字體。

          EOT 字體文件,即 Embedded OpenType Fonts 文件,是微軟設計的一種用于網頁的嵌入式字體,它是 OpenType 字體的緊湊形式。

          不同字體格式的瀏覽器兼容性下圖所示:

          不同字體格式的瀏覽器兼容性,截圖數據來自 w3schools.com

          使用自定義字體

          使用 @font-face CSS 指令定義自定義字體。使用前需要把字體文件放在服務器目錄,然后定義新的字體名稱,并指向字體所在位置。

          京華老宋體為例,這是一款可以免費商用的中文字體。下載字體文件后,放到和 index.html 同級的目錄,重命名為 jh-song.ttf。

          下載字體文件

          在 @font-face 指令內,使用 font-family 定義字體名稱,src 屬性定義字體文件路徑。

          定義 web 字體

          然后,像使用普通字體一樣,使用自定義字體樣式:

          使用 web 字體

          .定位

          • 定位是一種更加高級的布局手段
            • 通過定位可以將元素擺放到頁面 - 使用position屬性來設置定位可選值:
            • static 默認值,元素是靜止的沒有開啟定位
            • relative 開啟元素的相對定位
            • absolute 開啟元素的絕對定位
            • fixed 開啟元素的固定定位
            • sticky 開啟元素的粘滯定位
            • 通過定位可以將元素擺放到頁面的任意位置

          1.1 相對定位

          • 當元素的position屬性值設置為relative時則開啟了元素的相對定位
          • 相對定位的特點:
            • 1.元素開啟相對定位以后,如果不設置偏移量元素不會發生任何的變化
            • 2.相對定位是參照于元素在文檔流中的位置進行定位的
            • 3.相對定位會提升元素的層級
            • 4.相對定位不會使元素脫離文檔流
            • 5.相對定位不會改變元素的性質塊還是塊,行內還是行內
          position: relative;

          1.2 絕對定位

          • 當元素的position屬性值設置為absolute時,則開啟了元素的絕對定位
          • 絕對定位的特點:
            • 1.開啟絕對定位后,如果不設置偏移量元素的位置不會發生變化
            • 2.開啟絕對定位后,元素會從文檔流中脫離
            • 3.絕對定位會改變元素的性質,行內變成塊,塊的寬高被內容撐開
            • 4.絕對定位會使元素提升一個層級
            • 5.絕對定位元素是相對于其包含塊進行定位的
          • 包含塊( containing block )
            • 正常情況下:包含塊就是離當前元素最近的祖先塊元素
          • 絕對定位的包含塊:
            • 包含塊就是離它最近的開啟了定位的祖先元素,如果所有的祖先元素都沒有開啟定位則根元素就是它的包含塊
          position: absolute;

          1.3 固定定位

          • 將元素的position屬性設置為fixed則開啟了元素的固定定位
          • 固定定位也是一種絕對定位,所以固定定位的大部分特點都和絕對定位一樣唯一不同的是固定定位永遠參照于瀏覽器的視口進行定位固定定位的元素不會隨網頁的滾動條滾動
          • position: fixed;

          1.4 粘滯定位

          • 當元素的position屬性設置為sticky時則開啟了元素的粘滯定位
          • 粘滯定位和相對定位的特點基本一致,不同的是粘滯定位可以在元素到達某個位置時將其固定
          • position: sticky;

          1.5 絕對定位元素的布局

          • 水平布局left + margin-left + border-left + padding-left + width + padding-right + border-right + margin-right + right = 包含塊的內容區的寬度
            • 當我們開啟了絕對定位后:水平方向的布局等式就需要添加left 和 right 兩個值此時規則和之前一樣只是多添加了兩個值: 當發生過度約束: 如果9個值中沒有 auto 則自動調整right值以使等式滿足 如果有auto,則自動調整auto的值以使等式滿足
            • 可設置auto的值 margin width left right
            • 因為left 和 right的值默認是auto,所以如果不指定left和right
            • 則等式不滿足時,會自動調整這兩個值
          • 垂直方向布局的等式的也必須要滿足top + margin-top/bottom + padding-top/bottom + border-top/bottom + height = 包含塊的高度

          1.6 元素的層級

          • 對于開啟了定位元素,可以通過z-index屬性來指定元素的層級
          • z-index需要一個整數作為參數,值越大元素的層級越高
          • 元素的層級越高越優先顯示
          • 如果元素的層級一樣,則優先顯示靠下的元素
          • 祖先的元素的層級再高也不會蓋住后代元素
          z-index: 3;


          2. 偏移量(offset)

          • 當元素開啟了定位以后,可以通過偏移量來設置元素的位置
          • top 定位元素和定位位置上邊的距離
          • bottom 定位元素和定位位置下邊的距離
          • 定位元素垂直方向的位置由top和bottom兩個屬性來控制 通常情況下我們只會使用其中一
            • top值越大,定位元素越向下移動
            • bottom值越大,定位元素越向上移動
          • left 定位元素和定位位置的左側距離
          • right 定位元素和定位位置的右側距離
          • 定位元素水平方向的位置由left和right兩個屬性控制 通常情況下只會使用一個
            • left越大元素越靠右
            • right越大元素越靠左
          position: relative;
          
                     left: 100px;
                     top: -200px;

          1. 字體

          • font-face可以將服務器中的字體直接提供給用戶去使用
          @font-face {
                         /* 指定字體的名字 */
                     font-family:'myfont' ;
                     /* 服務器中字體的路徑 */
                     src: url('./font/ZCOOLKuaiLe-Regular.ttf') format("truetype");
                }

          1.1 字體相關樣式

          • color 用來設置字體顏色
          • font-size 字體的大小
            • em 相當于當前元素的 一個font-size
            • rem 相對于根元素的一個font-size
            • 相關的單位
          • font-family 字體族(字體的格式)可選值:
            • 指定字體的類別,瀏覽器會自動使用該類別下的字體
            • serif 襯線字體
            • sans-serif 非襯線字體
            • monospace 等寬字體
            • font-family 可以同時指定多個字體,多個字體間使用,隔開字體生效時優先使用第一個,第一個無法使用則使用第二個 以此類推
          Microsoft YaHei,Heiti SC,tahoma,arial,Hiragino Sans GB,"B8BF53",sans-serif
          font-family: 'Courier New', Courier, monospace;

          2. 圖標字體

          • 在網頁中經常需要使用一些圖標,可以通過圖片來引入圖標但是圖片大小本身比較大,并且非常的不靈活
          • 所以在使用圖標時,我們還可以將圖標直接設置為字體,然后通過font-face的形式來對字體進行引入
          • 這樣我們就可以通過使用字體的形式來使用圖標
          • fontawesome 使用步驟
            • 1.下載 https://fontawesome.com/
            • 2.解壓
            • 3.將css和webfonts移動到項目中
            • 4.將all.css引入到網頁中
            • 5.使用圖標字體 - 直接通過類名來使用圖標字體 class="fas fa-bell" class="fab fa-accessible-icon"
          • 通過偽元素來設置圖標字體
            • 1.找到要設置圖標的元素通過before或after選中
            • 2.在content中設置字體的編碼
            • 3.設置字體的樣式
          fab
            font-family: 'Font Awesome 5 Brands';
          
          fas
            font-family: 'Font Awesome 5 Free';
            font-weight: 900;
          <i class="fas fa-cat"></i>
          通過實體來使用圖標字體:
                    &#x圖標的編碼;
          <span class="fas">?</span>

          3. 行高

          • 可以將行高設置為和高度一樣的值,使單行文字在一個元素中垂直居中
          line-height: 200px;
          • 行高指的是文字占有的實際高度
            • 行間距 = 行高 - 字體大小
            • 也可以直接為行高設置一個整數
            • 如果是一個整數的話,行高將會是字體的指定的倍數
            • 可以通過line-height來設置行高
            • 行高可以直接指定一個大小(px em)
            • 行高經常還用來設置文字的行間距
          • 字體框
            • 字體框就是字體存在的格子,設置font-size實際上就是在設置字體框的高度
          • 行高會在字體框的上下平均分配
          /* line-height: 1.33; */
                     /* line-height: 1; */
                     /* line-height: 10 */

          4. 字體屬性

          • font 可以設置字體相關的所有屬性
            • font: 字體大小/行高 字體族
            • 行高 可以省略不寫 如果不寫使用默認值
            • 語法:
          font: 50px/2 微軟雅黑, 'Times New Roman', Times, serif;
          • font-weight 字重 字體的加粗
            • normal 默認值 不加粗
            • bold 加粗
            • 100-900 九個級別(沒什么用)
            • 可選值:
          • font-style 字體的風格
            • normal 正常的
            • italic 斜體
          font-weight: bold;
          font-weight: 500;
          font-style: italic;

          5. 文本樣式

          • text-align 文本的水平對齊
            • left 左側對齊
            • right 右對齊
            • center 居中對齊
            • justify 兩端對齊
            • 可選值:
          text-align: justify;
          • vertical-align 設置元素垂直對齊的方式
            • baseline 默認值 基線對齊
            • top 頂部對齊
            • bottom 底部對齊
            • middle 居中對齊
            • 可選值:
          vertical-align:baseline;
          • text-decoration 設置文本修飾
            • none 什么都沒有
            • underline 下劃線
            • line-through 刪除線
            • overline 上劃線
            • 可選值:
          text-decoration: overline;
          • white-space 設置網頁如何處理空白
            • normal 正常
            • nowrap 不換行
            • pre 保留空白
            • 可選值:
          white-space: nowrap;

          在制作網頁時,文字是最基本的元素之一。讓閱讀者更容易閱讀,短時間里獲得更多信息,是網頁創作者的目標。本篇將介紹各種文字格式標簽的使用方法。

          本篇主要針對初學者的一篇教程,如果你非常熟悉html,可以忽略本篇文章。

          目錄

          1. 標題文字
          2. 文字格式標簽
          3. 段落標簽
          4. 其它標簽

          標題文字

          在網上瀏覽時經常看到一些標題文字,用來對應章節劃分,它們以固定的字號顯示,總共有6種級別的標題,從 h1 至 h6 依次減小,如下圖:

          html 代碼:

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>標題</title>
          </head>
          <body>
          <h1>這是標題 1</h1>
          <h2>這是標題 2</h2>
          <h3>這是標題 3</h3>
          <h4>這是標題 4</h4>
          <h5>這是標題 5</h5>
          <h6>這是標題 6</h6>
          </body>
          </html>

          標題對齊方式可以使用 align 屬性,分別有三個屬性:

          1. left —— 左對齊
          2. center —— 居中對齊
          3. right —— 右對齊

          如下圖:


          html代碼:

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>標題</title>
          </head>
          <body>
          <h1>這是標題 1</h1>
          <h2 align="left">這是標題 2</h2>
          <h3 align="center">這是標題 3</h3>
          <h4 align="right">這是標題 4</h4>
          <h5>這是標題 5</h5>
          <h6>這是標題 6</h6>
          </body>
          </html>

          文字格式標簽

          除了標題,網頁中普通文字也是不可缺少的,而各種文字效果可以使網頁更加漂亮。

          只需在<body>和</body>之間輸入文字,就會直接在頁面中顯示,如何設置這些文字的格式,這里使用<font>標簽,下面將逐一介紹各種文字格式用法。

          一、設置字體、字號、顏色 —— <font> 標簽

          <font> 標簽在HTML 4 中用于指定字體、字體大小和文本顏色,但在HTML5 中不支持。

          • face 屬性:字體類型
          • size 屬性: 字體字號大小
          • color 屬性:字體顏色

          html代碼:

          <html>
          <body>
          <div><font face="宋體">字體</font></div>
          <div><font size="5">5號字體</font></div>
          <div><font color="red">顏色</font></div>
          <div><font size="5" face="arial" color="blue">一起使用</font></div>
          </body>
          </html>

          在html5中不建議使用,請用 css 樣式代替。

          二、粗體、斜體、下劃線、刪除線—— strong、em、u、del

          效果如下:

          html代碼:

          <!DOCTYPE html>
          <html>
          <body>
          <p>這是普通文本 - <strong>這是粗體文本</strong>。</p>
          <p>這是普通文本 - <em>這是斜體</em>。</p>
          <p>這是普通文本 - <u>這是下劃線</u>。</p>
          <p>這是普通文本 - <del>這是下劃線</del>。</p>
          </body>
          </html>

          注:html 5 和 html 4 相關標簽存在巨大差異,比如 strong 和 b 、del 和 s、em 和 i 等效果相同,在html5 中不支持,b、s、i 標簽,已不建議使用,關于各種差異,可自己了解下就可以了。

          3、上標和下標 —— sup、sub

          效果如下:


          html代碼:

          <html>
          <body>
          <p>
          普通文本 <sup>上標</sup>
          </p>
          <p>
          普通文本 <sub>下標</sub>
          </p>
          <p>
          數學公式 X<sup>3</sup> + 5X<sup>2</sup> - 5 = 0
          </p>
          <p>
          數學公式 X<sub>1</sub> - 2X<sub>1</sub> = 0
          </p>
          </body>
          </html>

          4、空格——


          一般在網頁中輸入文字時,在段落中明明增加了空格,卻在頁面中看不到,這是因為在html中,瀏覽器本身會將2個句子之間的所有半角空白僅當做一個空白來看待。所以在這里使用空格符代替,每個空格符代表一個半角空格,多個空格可以使用多次。

          html代碼:

          由于頭條不顯示空格字符,所以用圖片代替

          效果:

          5、其它特殊字符

          除了空格字符,在網頁中還有一些特殊字符也需要使用代碼來代替,一般情況下,特殊字符由前綴 “&” 開始、字符名和后綴 “;” 組成,和空格符類似。如下表

          特殊字符有很多,這里只列出一些例子,具體自己搜索了解下。

          段落

          在網頁中要把文字有條理地顯示,需要使用到段落標簽,下面介紹一些與段落相關的標簽。

          • 段落標簽——p

          在網頁中,通過 <p>定義為一個段落。

          html代碼:

          <html>
          <body>
          <p>這是段落。</p>
          <p>這是段落。</p>
          <p>這是段落。</p>
          <p>段落元素由 p 標簽定義。</p> 
          </body>
          </html>
          

          效果:

          • 換行標簽——br

          在寫文字時,除了自動換行外,換可以使用<br>標簽強制文字換行,這個和 p 段落標簽不一樣。段落標簽的換行是隔行的,而br不是,時2行文字更加緊湊。

          html代碼:

          <html>
          <body>
          <p>
          第一個段落<br />換行1<br />換行2<br />換行3<br />最后一行.
          </p>
          <p>
          第二個段落 <br />換行1<br />換行2<br />換行3<br />最后一行.
          </p>
          </body>
          </html>

          效果如下:

          如果不想文字被瀏覽器自動換行,可以使用<nobr></nobr>標簽處理,如下圖:

          改行文字不會被自動換行,會看到出現橫向滾動條。

          • 保留原始排版方式——pre

          在網頁制作中,有時需要保留一些特殊的排版效果,這是使用標簽控制就會很麻煩,使用<pre>標簽就可以保留文本的格式排版效果。如下圖:

          html代碼:

          <html>
          <body>
          <pre>
          這是
          預格式文本。
          它保留了      空格
          和換行。
          </pre>
          <p>pre 標簽很適合顯示計算機代碼:</p>
          <pre>
          for i = 1 to 10
               print i
          next i
          </pre>
          <p>這是一個ok效果</p>
          <pre>
            O O    k  K
           O   O   K K
            O O    K  K
          </pre>
          </body>
          </html>

          其它標簽

          • 右縮進—— blockquote

          使用<blockquote>可以實現文字段落縮進,每使用一次,段落就縮進一次,可以嵌套使用。

          實例代碼:

          <html>
          <body>
          Here comes a long quotation:
          <blockquote>
          This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation.
          </blockquote>
          請注意,瀏覽器在 blockquote 元素前后添加了換行,并增加了外邊距。
          </body>
          </html>

          效果如下:

          請注意,瀏覽器在 blockquote 元素前后添加了換行,并增加了外邊距。

          • 水平線——hr

          在段落和段落之間加上一行水平線,將段落隔開。如下效果:

          html代碼:

          <html>
          <body>
          <p>hr 標簽定義水平線:</p>
          <hr />
          <p>這是段落。</p>
          <hr />
          <p>這是段落。</p>
          <hr />
          <p>這是段落。</p>
          </body>
          </html>
          • 文字標注——ruby

          在網頁中可以通過添加對文字的標注來說明某段文本。

          效果如下:

          html代碼:

          <!DOCTYPE HTML>
          <html>
          <body>
          <p>ruby 使用語法:</p>
          <ruby>
           被說明的文字 <rt> 標注 </rt>
          </ruby>
          </body>
          </html>
          • 其它標簽——var、codekbd

          <dfn>

          定義一個定義項目。

          <code>

          定義計算機代碼文本。

          <samp>

          定義樣本文本。

          <kbd>

          定義鍵盤文本。它表示文本是從鍵盤上鍵入的。它經常用在與計算機相關的文檔或手冊中。

          <var>

          定義變量。您可以將此標簽與 <pre> 及 <code> 標簽配合使用。

          <cite>

          定義引用。可使用該標簽對參考文獻的引用進行定義,比如書籍或雜志的標題。

          總結

          本篇介紹了大部分常用的文本格式標簽,在制作網頁時會經常使用到。如何掌握這些標簽使用,很簡單,可以使用文本編輯器或類似w3cshool 在線可編輯預覽的工具,親手寫一寫,熟悉每個標簽的用處,無需死記硬背,關鍵在于理解。

          最后,感謝您的閱讀及關注,祝你學習愉快。

          上篇:前端入門——HTML的發展歷史

          下篇:前端入門——html 列表


          主站蜘蛛池模板: 中文字幕乱码一区二区免费 | 日韩一区二区三区免费体验| 国产精品伦子一区二区三区 | 国产激情з∠视频一区二区| 人妻无码一区二区三区| 精品视频在线观看一区二区| 狠狠色婷婷久久一区二区三区| 久久精品免费一区二区三区 | 中文字幕一区二区三区有限公司| 国产精品亚洲专区一区| 国产伦精品一区二区三区精品 | 中文字幕一区二区三| 国产一区二区电影| 无码人妻AⅤ一区二区三区水密桃 无码欧精品亚洲日韩一区夜夜嗨 无码毛片一区二区三区中文字幕 无码毛片一区二区三区视频免费播放 | 一区二区三区AV高清免费波多| 一区二区三区在线|日本| 中文字幕一区二区人妻性色| 成人精品视频一区二区三区尤物| 久久久久久一区国产精品| 国产亚洲福利一区二区免费看| 亚洲视频在线观看一区| 精品国产一区二区22| 国产一区二区三区亚洲综合| 亚洲日本乱码一区二区在线二产线 | 久久久久久免费一区二区三区| 日本韩国黄色一区二区三区 | 精品一区二区三区免费毛片| 亚洲AV香蕉一区区二区三区| 少妇无码一区二区三区免费| 亚洲性日韩精品一区二区三区| 麻豆精品人妻一区二区三区蜜桃 | 亚洲午夜电影一区二区三区| 国产精品无码一区二区三级 | 精品无码一区二区三区爱欲九九 | 老熟妇仑乱一区二区视頻| 无码人妻精品一区二区三| 久久精品国产AV一区二区三区| 人妻久久久一区二区三区 | 国产成人精品一区二三区 | asmr国产一区在线| 亚洲熟妇av一区二区三区|