成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

css可變色圖標(biāo)及原理分析

RebeccaZhong / 3584人閱讀

摘要:只是,僅支持這一種格式是專門為開發(fā)而設(shè)計(jì)的字體,其字體尺寸更小,加載更快,應(yīng)該優(yōu)先使用。字體圖標(biāo)技術(shù)的實(shí)現(xiàn)就是把通常的字符集映射成了另外的圖標(biāo)形狀例如把映射成了

本文的目標(biāo)是:使用css可以控制圖標(biāo)的顏色,大小

需要工具:png轉(zhuǎn)svg工具(如果ui給的svg就更好了) iconfont(圖標(biāo)轉(zhuǎn)代碼)

第一步,把圖標(biāo)轉(zhuǎn)成svg格式的

打開網(wǎng)址 https://www.bejson.com/conver...

上傳

下載

第二步,使用iconfont生成代碼

打開網(wǎng)址:https://www.iconfont.cn

點(diǎn)擊圖標(biāo)管理->我的圖標(biāo),如下圖

進(jìn)入到我的圖標(biāo)之后,點(diǎn)擊上傳icon,如下圖

點(diǎn)此上傳 選中svg文件,

上傳之后,點(diǎn)擊去除顏色并提交

上傳完之后就會(huì)自動(dòng)回到圖標(biāo)管理頁(yè),點(diǎn)擊批量操作->批量加入購(gòu)物車,然后進(jìn)入購(gòu)物車

在購(gòu)物車中,點(diǎn)擊下載代碼

第三步,生成的代碼運(yùn)用到項(xiàng)目中

生成的項(xiàng)目目錄如下:

點(diǎn)擊demo_index.html,可以查看官網(wǎng)給出的使用方式

我項(xiàng)目中使用的是第二種,所以只介紹第二種使用方式

第一步,把iconfont.css復(fù)制到你的css樣式中

第二步,根據(jù)iconfont.css中你需要的字體,把生成的項(xiàng)目中的字體文件和svg文件復(fù)制到你的項(xiàng)目目錄中,需要和css文件同級(jí)目錄,否則需要修改iconfont.css中引入字體文件的路徑,默認(rèn)情況下引入下圖的字體(如果不需要兼容ie8和ios4.1-,可移除相應(yīng)的字體,詳情看下面的介紹)

第三步,使用


//或者

改變樣式的話

span{
    color:red
}
i{
    color:red
}
最后,原理分析 1. 理解@font face規(guī)則

@font face的本質(zhì)是變量,該規(guī)則支持的css屬性有很多,我們常用的有:font-family,src,font-style,font-weight

首先來(lái)看一下,font-family,這里的font-family可以看成一個(gè)變量,名字可以隨便取,比如用一個(gè)$符,但要注意不要覆蓋系統(tǒng)已經(jīng)存在的字體

/*font-family如果是符號(hào)的話需要用引號(hào)包起來(lái)*/
@font-face{
    font-family:"$"
}
/*使用iconfont生成的@font-face規(guī)則font-family如下:*/
@font-face{
    font-family:"iconfont"
}

然后看下我們的重點(diǎn)src屬性,src屬性用來(lái)引入字體資源,引入的字體資源可以使本地的(使用local()引入),也可以是外鏈字體(使用url()引入),注意local要ie9及以上版本才支持

這里我們重點(diǎn)來(lái)看下url功能符

@font-face{
    font-family:"icon";
    src:url("icon.eot") format("eot");/*ie6-8*/
    src: url("icon.eot#iefix") format("embedded-opentype"),
        url("icon.woff2") format("woff2")
        url("icon.woff") format("woff"),
        url("icon.ttf") format("typetrue"),
        url("icon.svg#icon") format("svg");
}

//format的作用是讓瀏覽器提前知道加載字體的格式,以決定是否加載字體

上面代碼一共出現(xiàn)了五種字體格式,分別是eot,woff,woff2,ttf,svg

svg格式是為了兼容ios4.1及之前的版本,現(xiàn)在的ios版本都到11了,所以完全可以舍棄

eot是ie私有的,所有版本的ie都支持eot格式,并不是只有ie6-8。只是,ie6-ie8僅支持eot這一種格式

woff(web open font format)是專門為web開發(fā)而設(shè)計(jì)的字體,其字體尺寸更小,加載更快,應(yīng)該優(yōu)先使用。Android4.4開始全面支持

woff2是woff的二代,字體文件尺寸更小,但是僅chrome和firefox支持的比較好

ttf作為系統(tǒng)安裝字體的格式,兼容性很好,但體積較大

綜上,我們得出以上結(jié)論

svg格式果斷舍棄

如果無(wú)需兼容ie8,eot格式舍棄

如果無(wú)需兼容Android4.3以前的版本,ttf格式舍棄

2. iconfont生成字體圖標(biāo)原理

iconfont生成的字體如下:

@font-face {
    font-family: "iconfont";
    src: url("iconfont.eot?t=1547714990292");
    /* IE9 */
    src: url("iconfont.eot?t=1547714990292#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAP4AAsAAAAACBgAAAOrAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqEJINPATYCJAMICwYABCAFhG0HLhvzBhHVm0XJviiwjblCNx4e1RAbqvoScwd3wUWGawQq7bPvQzw8v+7p3Hnv/52F1bbLColMUKi7FapgBBOVZ2CcDsadACIZ7O93+tTc9nW/JuKoRNUmmiAW/joh4qVzC50Q2dyMtzUqQrEk53k/fUfSbiDkVwD8cbjXpgc4313a5Tjnoi7AOJAC3QPXAgmkD/LJv+Mfxi5oibsJNNLNEDGmNWWOUmYOCsSW0/qVyoxcbkgNpVCvmJnFaTVlcaQ4A3Aq+Pn4SjFKCrXEzJixbuwaIz4AKyLtrnZb4iEwptOCzSNhCDIxp1I/TYr8QySNVH/Wi22lBh8uVeXRN/uPRxB1Jr8JxHahXxPDYV4qdQEy7bmG94PORFqVlcjqH+baAbu7AM71qavD+25xUwr1TdTSXbmOgjo6aOTEtdzzhlD07Wfwh3kNLWxrj7Bjinp06gAWdAde7N/YCAfvirOKDa3s6mN/sJ8ePobHHoaNg/S9S30z1dTNb5s47+kQFh7MCP6N69BdPqII7qzvF2OXbAPsvszfu4zfS9cuo4/fe41Hu47H1ORtqTPw0k8353NTd41KqYcHt8d4mj81ujIHd/JT9939WKmT19BaV8T0GUgcUlMYh5QtAZn08c/zD3y/2idiavJz5oyGdIuw8C6CcGkCHZZGgb2tr32WF30s8se1QLHTBzjI4vpTFv32/uArMNIVuOMe/9uiattoCCv1s7JmyNmnsM132Ghb8VY9/qd0iaO4yFgqGsi3pQVkDaEjVc7aqf7juAtroRNgSjfcFDl2BGnfaPlxuxjJ20utDr0Oy/3YZ/qLFceoimHNsa4yGnacG0Tnm91qCBkydLHIzmuI+HxPexAwAlQofaTjX/0d42/y/5Y3r/8vYQbPKfBKYK1QBnQzUt67IfiHjI51WWOZiiIrjMpw4Zr0bkoaaYQKw+ZW3g41tiXRhpIzIBQa6ApJqQ8yY4dATWPDoK40HBoZbPz8xlrbJYncEIMcABBauAqFZu5C0sJjZMa+gZp2vkNdi0jQyLwgV2yM6hdRjWbUgg7MH6LdGtkqUWHqDf27aE6zAvwL+YwumPoxH7piQ55izPnxswgB8VZhBfthKRvsvCW00geRfRkGqrpRb7faKaMZtaAD5g+i3Rp5zUUVvn9D/y6aG2qqtC/kM3YOJr2xA/LKb51qbuWQ8+NnIgSItwpWoMVi+TewV3dLaKUXBnj3xYAaUVd+v7ywvt0WaMSUFGHlJnlH0f+uAwA=") format("woff2"), url("iconfont.woff?t=1547714990292") format("woff"), url("iconfont.ttf?t=1547714990292") format("truetype"), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
    url("iconfont.svg?t=1547714990292#iconfont") format("svg");
    /* iOS 4.1- */
}

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

.icon-play:before {
    content: "e601";
}

這里有兩個(gè)需要關(guān)注的東西,一個(gè)是字體,另一個(gè)是字符,這兩個(gè)東西就是字體圖標(biāo)技術(shù)的本質(zhì)。

字體的本質(zhì)是字符集與圖形的一種映射關(guān)系。

字體圖標(biāo)技術(shù)的實(shí)現(xiàn)就是把通常的字符集映射成了另外的圖標(biāo)形狀.
例如把 e601映射成了

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/117255.html

相關(guān)文章

  • SVG vs Image, SVG vs Iconfont

    摘要:結(jié)論綠色部分表示比略勝一籌的地方,黃色部分表示有所欠缺的地方,灰綠色表示差不多。兼容性列表可以良好地支持多色及多色變化。以為例說(shuō)明便捷使用。綜上結(jié)論選擇或許是一個(gè)不錯(cuò)地選擇去替代的使用方式。 這可能是個(gè)別人寫過(guò)很多次的話題,但貌似由于兼容性的原因?圖標(biāo)的顯示還是用著 Iconfont 或者 CSS Sprite 的形式?希望通過(guò)自己新瓶裝舊酒的方式能重新引導(dǎo)一下問(wèn)題。 SVG vs I...

    kel 評(píng)論0 收藏0
  • SVG vs Image, SVG vs Iconfont

    摘要:結(jié)論綠色部分表示比略勝一籌的地方,黃色部分表示有所欠缺的地方,灰綠色表示差不多。兼容性列表可以良好地支持多色及多色變化。以為例說(shuō)明便捷使用。綜上結(jié)論選擇或許是一個(gè)不錯(cuò)地選擇去替代的使用方式。 這可能是個(gè)別人寫過(guò)很多次的話題,但貌似由于兼容性的原因?圖標(biāo)的顯示還是用著 Iconfont 或者 CSS Sprite 的形式?希望通過(guò)自己新瓶裝舊酒的方式能重新引導(dǎo)一下問(wèn)題。 SVG vs I...

    paulquei 評(píng)論0 收藏0
  • CSS練習(xí)】IT修真院--練習(xí)5-護(hù)工個(gè)人界面

    摘要:任務(wù)五一個(gè)最常見的移動(dòng)端頁(yè)面完成的事情學(xué)習(xí)張?chǎng)涡袷澜缦嚓P(guān)章節(jié)張?chǎng)涡裣盗辛私馔ㄅ浞x擇器性能優(yōu)化瀏覽器渲染原理學(xué)習(xí)各屬性及效果完成任務(wù)五學(xué)習(xí)編碼規(guī)范編碼規(guī)范并按照編碼規(guī)范優(yōu)化代碼完成深度思考計(jì)劃的事情找時(shí)間把前面任務(wù)的官方提供鏈接過(guò)一遍,查缺 任務(wù)五、 一個(gè)最常見的移動(dòng)端頁(yè)面 完成的事情 float學(xué)習(xí) 張?chǎng)涡瘛禖SS世界》相關(guān)章節(jié) 張?chǎng)涡?float系列 了解CSS通配符 &...

    Jonathan Shieber 評(píng)論0 收藏0
  • 像打字一樣插入圖標(biāo)-iconfont

    摘要:簡(jiǎn)介是什么就像名字一樣,就是圖標(biāo)字體,像雅黑字體,思源字體一樣,這種字體就是由圖標(biāo)構(gòu)成有何優(yōu)勢(shì)輕量性一個(gè)圖標(biāo)字體比一系列的圖像特別是在屏中使用雙倍圖像要小。問(wèn)題很小創(chuàng)作自已的字體圖標(biāo)很費(fèi)時(shí)間,重構(gòu)人員后期維護(hù)的成本偏高。 簡(jiǎn)介 - iconfont是什么? 就像名字一樣,iconfont就是圖標(biāo)字體,像雅黑字體,思源字體一樣,這種字體就是由圖標(biāo)構(gòu)成~ - 有何優(yōu)勢(shì)? 1、輕量性:一個(gè)圖...

    warkiz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<