最近在 B 站上看 Pink 老師的前端視頻,簡(jiǎn)單總結(jié)一下在網(wǎng)頁(yè)中使用 icon 圖標(biāo)的兩種方法。




直接插入字體圖標(biāo)


這里說(shuō)的字體圖標(biāo)" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢(xún) 在線咨詢(xún)
15158846557 在線咨詢(xún)
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > 在網(wǎng)頁(yè)中使用 icon 字體圖標(biāo) | 前端開(kāi)發(fā)

在網(wǎng)頁(yè)中使用 icon 字體圖標(biāo) | 前端開(kāi)發(fā)

時(shí)間:2023-06-24 14:57:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-06-24 14:57:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

在網(wǎng)頁(yè)中使用 icon 字體圖標(biāo) | 前端開(kāi)發(fā):本文首發(fā)于我的個(gè)人號(hào)「效率工具指南」




最近在 B 站上看 Pink 老師的前端視頻,簡(jiǎn)單總結(jié)一下在網(wǎng)頁(yè)中使用 icon 圖標(biāo)的兩種方法。




直接插入字體圖標(biāo)




這里說(shuō)的字體圖標(biāo),是指既有普通 icon 圖標(biāo)的外觀,又帶有字體特征的圖標(biāo),可以像調(diào)整字體那樣、調(diào)整圖標(biāo)的大小和顏色,且圖標(biāo)放大之后不會(huì)失真變模糊。




我們一般是從網(wǎng)上下載字體圖標(biāo)的,譬如國(guó)內(nèi)的阿里巴巴旗下的矢量素材網(wǎng)站 iconfont、國(guó)外的 IcoMoon 等。




去年寫(xiě)過(guò)一篇文章《微信小程序開(kāi)發(fā) | 如何在小程序中使用自定義 icon 圖標(biāo)》,其中介紹了 iconfont 圖標(biāo)的使用,這回介紹一下使用來(lái)自 IcoMoon 的圖標(biāo)的方法。




打開(kāi) IcoMoon 圖標(biāo)官網(wǎng),從中挑選你想使用的 icon 圖標(biāo),底部的 Selection 會(huì)統(tǒng)計(jì)你選中的圖標(biāo)數(shù)量,選好圖標(biāo)之后,點(diǎn)擊右下角的 Generate Font,生成字體圖標(biāo)。







在打開(kāi)的頁(yè)面,會(huì)顯示我們剛才挑選的所有 icon 圖標(biāo),并且提供圖標(biāo)的 unicode 編碼,這些編碼等下要用到,但現(xiàn)在先不管。點(diǎn)擊右下角的 Download,下載生成的字體圖標(biāo)文件。







IcoMoon 圖標(biāo)下載:

https://icomoon.io/app/#/select




解壓下載的壓縮文件,其中包含下面這些文件,我們需要用到其中的 fonts 文件夾。







fonts 文件中包含了 4 個(gè)字體文件,這是因?yàn)椴煌瑸g覽器所支持的字體格式是不一樣的,考慮到兼容性,fonts 文件夾就包含了主流瀏覽器支持的字體文件:










將 fonts 文件夾復(fù)制到網(wǎng)頁(yè)的項(xiàng)目文件夾 中,譬如放在與 index.html 文件同級(jí)的路徑下。




打開(kāi) HTML 文件,在 style 標(biāo)簽中粘貼下方的代碼,定義我們等下需要用到的字體 icomoon。需要注意的是,如果 fonts 文件與 html 文件在同個(gè)路徑下,就不需要修改下方代碼中的 url 地址。




<style> @font-face { font-family: 'icomoon'; src: url('fonts/icomoon.eot?bawtoo'); src: url('fonts/icomoon.eot?bawtoo#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?bawtoo') format('truetype'), url('fonts/icomoon.woff?bawtoo') format('woff'), url('fonts/icomoon.svg?bawtoo#icomoon') format('svg'); font-weight: normal; font-style: normal; font-display: block; }</style>


粘貼代碼之后,先來(lái)看一下我們最終想要實(shí)現(xiàn)的效果,如下圖,下方的紅色愛(ài)心??圖標(biāo),就是前面說(shuō)到的字體圖標(biāo)。根據(jù)最終想要實(shí)現(xiàn)的效果,我們要去到 html 文件中書(shū)寫(xiě)相應(yīng)的代碼。







在 html 文件的 body 標(biāo)簽中輸入下方的一行代碼,中間的 span 標(biāo)簽包含的方塊,其實(shí)就是愛(ài)心圖標(biāo),只不過(guò)它無(wú)法在 html 文件中正常顯示。




<p>我 <span>?</span> 你</p>


這個(gè)方塊也不是隨意輸入的,還得從我們前面下載的壓縮文件夾中的 demo.html 查看。







在瀏覽器中打開(kāi) demo.html ,移動(dòng)到愛(ài)心圖標(biāo)右下角的區(qū)域,框選有時(shí)看得到、有時(shí)看不到的方塊字符,復(fù)制到剪貼板,接著粘貼到 html 文件中。







將方塊字符粘貼到 html 中,如果此時(shí)在瀏覽器中預(yù)覽網(wǎng)頁(yè)效果的話,還是無(wú)法看到剛添加的字體圖標(biāo)的,因?yàn)檫€缺少對(duì)字體圖標(biāo)設(shè)置 CSS 樣式——聲明字體圖標(biāo)所使用的字體。




html:

<p> 我<span>?</span>你</p>


css:

p span { font-family: 'icomoon';}


此時(shí)在瀏覽器中重新打開(kāi) html 文件,我們所使用的字體圖標(biāo)就會(huì)正常顯示了。




如果你還想調(diào)整字體圖標(biāo)的大小顏色,可以在 CSS 中增加另外兩個(gè)屬性:font-sizecolor




css:

p span { font-family: 'icomoon'; font-size: 50px; color: red;}


一番設(shè)置之后,重新在瀏覽器中刷新頁(yè)面,就可以看到最終的效果啦。




通過(guò)偽類(lèi)選擇器使用字體圖標(biāo)




前面介紹的第一種方法,需要同時(shí)在 body 標(biāo)簽(html) 和 style 標(biāo)簽(css) 中同時(shí)書(shū)寫(xiě)相關(guān)的代碼,如果我們想讓 html 文件的結(jié)構(gòu)更加簡(jiǎn)單,我們可以通過(guò)第二種方法——在 style 標(biāo)簽(css) 中通過(guò)偽類(lèi)選擇器使用字體圖標(biāo),這樣就只需要在 style 標(biāo)簽或 css 文件中書(shū)寫(xiě)相關(guān)的代碼。




先來(lái)看一下我們最終想要實(shí)現(xiàn)的效果,如下圖所示,給輸入框的右側(cè)添加一個(gè)向下的小三角 圖標(biāo)。







想制作這個(gè)效果,同樣是先從前面介紹的 IcoMoon 網(wǎng)站下載字體圖標(biāo),將解壓后的文件中的 fonts 文件夾放到與 index.html 同級(jí)的路徑下,接著在 html 的 style 標(biāo)簽中粘貼下方的代碼:




<style> @font-face { font-family: 'icomoon'; src: url('fonts/icomoon.eot?bawtoo'); src: url('fonts/icomoon.eot?bawtoo#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?bawtoo') format('truetype'), url('fonts/icomoon.woff?bawtoo') format('woff'), url('fonts/icomoon.svg?bawtoo#icomoon') format('svg'); font-weight: normal; font-style: normal; font-display: block; }</style>


在 html 的 body 標(biāo)簽中插入一個(gè)空白的盒子 div 標(biāo)簽:

<body> <div></div></body>


接著在 style 標(biāo)簽中,給 div 盒子設(shè)置寬度、高度,并給它設(shè)置一個(gè)粗細(xì)為 1 px 的灰色邊框:

<style> div { width: 200px; height: 40px; border: 1px solid gray;}</style>


此時(shí)在瀏覽器中打開(kāi) html 文件,就可以看到下圖所示的孤零零的輸入框。







接著繼續(xù)給這個(gè)輸入框「添磚加瓦」——添加一個(gè)向下的小三角 ,繼續(xù)在 style 標(biāo)簽中書(shū)寫(xiě)代碼:




div::after { content: '?'; font-family: 'icomoon';}


稍微解釋一下這個(gè)代碼,在 div 后面加上兩個(gè)英文中的冒號(hào),并且跟上單詞 after 或者 before,就是所謂的偽類(lèi)選擇器,在我目前的認(rèn)知范圍內(nèi),偽類(lèi)選擇器就是用 css 代碼來(lái)給 html 頁(yè)面添加額外的元素,我們也確實(shí)可以在網(wǎng)頁(yè)中看到添加的小三角,如下圖。但這段代碼是寫(xiě)在 css 而非 html 文件中,一定程度上可以簡(jiǎn)化 html 文件的代碼。







到這里,我們就順利地在 html 頁(yè)面中添加了字體圖標(biāo),值得一提的是,偽類(lèi)選擇器中 content 屬性的值,除了可以是字體圖標(biāo)對(duì)應(yīng)的方塊字符,還可以是字體圖標(biāo)下方的編號(hào)。




以下圖為例,愛(ài)心圖標(biāo)的編號(hào)是 e9da,因此 content 屬性的值也可以是 /e9da ,通過(guò)編號(hào)來(lái)調(diào)用字體圖標(biāo)的時(shí)候,需要在編號(hào)的最前面加多一個(gè)反斜桿 / 。




div::after { content: '/e9da'; font-family: 'icomoon';}





引入字體圖標(biāo)之后,字體圖標(biāo)默認(rèn)位于輸入框的左上角,為了將字體圖標(biāo)移動(dòng)到右側(cè)居中的位置,這里還需要用到另外的知識(shí)——定位,包含相對(duì)定位絕對(duì)定位







關(guān)于定位的知識(shí),這里暫時(shí)就不過(guò)多展開(kāi)了,可以記住一個(gè)口訣「子絕父相」,即子元素設(shè)置絕對(duì)定位,父元素設(shè)置相對(duì)定位,就可以達(dá)到自由移動(dòng)下拉小三角位置的目的。




分別給 div 和偽元素選擇器 div::after 添加另外的樣式:




div { position: relative;}div::after { position: absolute; top: 12px; right: 10px;}


這里的 top 和 right 屬性的值,并不是唯一的,需要根據(jù)實(shí)際情況,配合瀏覽器的開(kāi)發(fā)者工具進(jìn)行調(diào)整,最終得到看起來(lái)比較舒適的值(主要就是調(diào)整到小三角可以位于輸入框水平居中的位置),最終效果如下。







以上,就是本次想和你分享的內(nèi)容。

希望對(duì)有需要的朋友有幫助。

關(guān)鍵詞:字體,使用

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉