Web前端學習—如何在網(wǎng)頁中插入字體圖標詳細步驟

2020-2-1    seo達人

一、什么是字體圖標

字體圖標:簡單的說,就是一種特殊的字體,通過這種字體,顯示給用戶的就像一個個圖片一樣,但它的本質(zhì)是文字。目前在移動端應用比較廣泛!







二、字體圖標的使用步驟

這里以阿里巴巴矢量圖標庫為例?。?!



sep1:

百度搜索iconfont,找到阿里巴巴矢量圖標庫官網(wǎng)



網(wǎng)址在這里https://www.iconfont.cn/

進去之后注冊或登錄,共有3種登錄方式,在這里我使用新浪微博賬號登錄





好了,登錄之后我們就可以在里面選擇自己想要的字體圖標啦!??!那么,如何選擇下載并應用到自己的項目中呢??別著急,跟著我走!



sep2:下載字體圖標字體庫

在這里我們可以根據(jù)自己的需求輸入相應的關(guān)鍵字進行搜索(中英文都可以)



鼠標放上去,然后就可以把自己喜歡的寶貝加入購物車啦!



網(wǎng)購的趕腳有木有,

我知道,看到這里大家就該有疑問了,

還要花錢買嗎?

放心!

答案是:不需要!



我們選的東西都在購物車里啦!



打開購物車,就能看到你選的圖標了??!

接下來你要做的是把它們下載到本地。



由于要在網(wǎng)頁中使用

在這里我們選擇 下載代碼



下載后將壓縮包解壓,為了方便后續(xù)使用我們改一下文件夾名稱,在這里我改為 icon (注意:在HTML中導入路徑時,記得帶上你所改的文件夾名稱)



打開之后你會發(fā)現(xiàn)里面有不同類型的文件(建議都不要刪除)



打開后綴名為.html的這個文件(可以更直觀地查看自己下載的字體圖標)







step3:在項目中引用字體圖標

不要走開,重點來了?。?!

官方提供了三種引用方法(下面對應的都有步驟)





Unicode 引用

Unicode 是字體在網(wǎng)頁端最原始的應用方式,特點是:

兼容性最好,支持 IE6+,及所有現(xiàn)代瀏覽器。

支持按字體的方式去動態(tài)調(diào)整圖標大小,顏色等等。

但是因為是字體,所以不支持多色。只能使用平臺里單色的圖標,就算項目里有多色圖標也會自動去色。

注意:新版 iconfont 支持多色圖標,這些多色圖標在 Unicode 模式下將不能使用,如果有需求建議使用symbol 的引用方式

Unicode 使用步驟如下

第一步:拷貝項目下面生成的 @font-face

@font-face { font-family: 'iconfont'; src: url('iconfont.eot'); src: url('iconfont.eot?#iefix') format('embedded-opentype'), url('iconfont.woff2') format('woff2'), url('iconfont.woff') format('woff'), url('iconfont.ttf') format('truetype'), url('iconfont.svg#iconfont') format('svg'); }

第二步:定義使用 iconfont 的樣式

.iconfont { font-family: "iconfont" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

第三步:挑選相應圖標并獲取字體編碼,應用于頁面

<span class="iconfont">&#x33;</span>



font-class 引用

font-class 是 Unicode 使用方式的一種變種,主要是解決 Unicode 書寫不直觀,語意不明確的問題。

與 Unicode 使用方式相比,具有如下特點:

兼容性良好,支持 IE8+,及所有現(xiàn)代瀏覽器。

相比于 Unicode 語意明確,書寫更直觀??梢院苋菀追直孢@個 icon 是什么。

因為使用 class 來定義圖標,所以當要替換圖標時,只需要修改 class 里面的 Unicode 引用。

不過因為本質(zhì)上還是使用的字體,所以多色圖標還是不支持的。

使用步驟如下:

第一步:引入項目下面生成的 fontclass 代碼:

<link rel="stylesheet" href="./iconfont.css">

第二步:挑選相應圖標并獲取類名,應用于頁面:

<span class="iconfont icon-xxx"></span>



symbol 引用

這是一種全新的使用方式,應該說這才是未來的主流,也是平臺目前推薦的用法。相關(guān)介紹可以參考這篇文章 這種用法其實是做了一個 SVG 的集合,與另外兩種相比具有如下特點:

支持多色圖標了,不再受單色限制。

通過一些技巧,支持像字體那樣,通過 font-size, color 來調(diào)整樣式。

兼容性較差,支持 IE9+,及現(xiàn)代瀏覽器。

瀏覽器渲染 SVG 的性能一般,還不如 png。

使用步驟如下:

第一步:引入項目下面生成的 symbol 代碼:

<script src="./iconfont.js"></script>

第二步:加入通用 CSS 代碼(引入一次就行):

<style> .icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; } </style>

第三步:挑選相應圖標并獲取類名,應用于頁面:

<svg class="icon" aria-hidden="true"> <use xlink:href="#icon-xxx"></use> </svg>



下面,我就跟大家詳細說說 font-class 引用的引用方式:



打開編輯器(在這里我使用的是 VS Code編輯器),新建一個項目文件夾(demo)





將解壓后的字體圖標文件夾(icon)直接放到demo目錄下





在demo文件夾下面新建一個html文件 demo.html



導入icon文件夾里面的外部樣式表

<link rel="stylesheet" href="./icon/iconfont.css">



iconfont.css 里面就是我們下載的字體圖標的所有css樣式了,我們打開看看吧!

你會發(fā)現(xiàn)里面有一個 iconfont類名(這里劃重點!后面要用),它是所有字體圖標的公用樣式。





這時我們就可以在頁面中使用這些字體圖標啦!上面我們只是導入了整個css樣式表,現(xiàn)在我們要針對性地把某個圖標引用到html頁面中,并在網(wǎng)頁中顯示出來。

下面 我們就開始寫頁面的主體部分吧!



<p> 我有一個夢想:能夠擁有一套 <span class="iconfont icon-home"></span> </p>

這里的span標簽里面放的就是要用的某個字體圖標了,你會發(fā)現(xiàn)它用了兩個class類名。

第一個是iconfont,也就是我前面劃的重點(到這里不明白的話,可以再回頭看看)

第二個是icon-home,這個類名從何而來呢?

來,繼續(xù)往下看,再次打開icon文件夾下的



話不多說,直接看圖



是不是對應上啦!簡單地說就是你要用那個圖標就添加它的class類名。



到這里,恭喜你已經(jīng)學會了如何在網(wǎng)頁中插入字體圖標啦?。?!

那么,趕快運行一下看看效果吧!



到這里是不是還滿足不了你的需求,會有這樣的疑問:如果是這樣的效果,跟一張圖片有什么區(qū)別呢???

當然不是啦!

之所以叫做字體圖標,顧名思義,它在網(wǎng)頁中就是一種字體的存在,不過它比普通字體長得好看些有木有!

我們可以像更改文字樣式一樣去更改它的樣式,比如說 大小、顏色、陰影…



Symbol 引用方式還可以實現(xiàn)下面原圖標的彩色效果哦!可以自己照著官方提供的步驟試試看





下面附上Font class引用方法的 源代碼 供參考

前面的步驟一定要看?。。?br />
如果前期工作沒做的話,直接用我的源代碼是實現(xiàn)不了的。



<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>字體圖標</title>

    <link rel="stylesheet" href="./icon/iconfont.css">

    <style>

        .iconfont{

            font-size: 200px;

            color: palevioletred;

            text-shadow: 18px 17px 17px gray;

        }

    </style>

</head>

<body>

    <p>

        我有一個夢想:能夠擁有一套

        <span class="iconfont icon-home"></span>

    </p>

</body>

</html>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

花費了很長時間整理出來的。

很簡單是不是?。?!

看到這里還不會的話,建議重新再看一遍!



其中有錯誤的話,還請指出,我會虛心接受并改正?。?!

————————————————

版權(quán)聲明:本文為CSDN博主「Humy.」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/weixin_42678796/article/details/104569773

日歷

鏈接

個人資料

藍藍設計的小編 http://sillybuy.com

存檔