圖標(biāo)字體與SVG - 您應(yīng)該在2019年使用哪一個(gè)殊橙?

圖形圖標(biāo)幾乎是每個(gè)網(wǎng)站或應(yīng)用程序的重要組成部分。雖然圖標(biāo)的大小通常很小狱从,但為web圖標(biāo)選擇格式并非易事膨蛮。除了標(biāo)準(zhǔn)的圖像格式,Web開發(fā)人員還有兩個(gè)主要選項(xiàng):SVG或圖標(biāo)字體季研。你應(yīng)該使用哪一個(gè)敞葛?讓我們看看這兩種格式在性能,靈活性和可訪問(wèn)性方面的比較与涡。

Web圖標(biāo)的演變

在CSS之前的時(shí)間惹谐,網(wǎng)絡(luò)圖標(biāo)必須是圖像。由于圖像文件很大驼卖,因此Web開發(fā)人員一直試圖找到顯示小圖標(biāo)的替代方法氨肌。例如,CSS精靈允許開發(fā)人員將所有圖標(biāo)保存在單個(gè)圖像文件中酌畜,但是由于圖標(biāo)字體在2012年左右到達(dá)現(xiàn)場(chǎng)怎囚,因此可訪問(wèn)性問(wèn)題導(dǎo)致它們不再受歡迎。但是桥胞,最近桩了,開發(fā)人員正在轉(zhuǎn)向使用可擴(kuò)展的矢量圖形或SVG,用于其Web圖標(biāo)埠戳。

什么是圖標(biāo)字體?

圖標(biāo)字體是可以使用CSS修改的文本文件蕉扮。因此整胃,它們比光柵圖像更好地縮放,因此更改圖標(biāo)字體的大小不會(huì)降低其視覺質(zhì)量喳钟。更改顏色或添加陰影就像編輯文本一樣簡(jiǎn)單屁使。您可以輕松找到要在您的網(wǎng)站上使用的免費(fèi)圖標(biāo)字體,或者您可以自己設(shè)計(jì)奔则。使用圖標(biāo)字體的一個(gè)缺點(diǎn)是蛮寂,大多數(shù)字體集包含您可能不會(huì)使用的圖標(biāo),因此它們只占用空間易茬。

就像之前的CSS精靈一樣酬蹋,圖標(biāo)字體開始不受開發(fā)人員的青睞及老。正確顯示圖標(biāo)字體通常需要瀏覽器向服務(wù)器發(fā)出額外請(qǐng)求,這可能導(dǎo)致在圖標(biāo)仍在加載時(shí)圖標(biāo)上出現(xiàn)FOIT或隱藏文本的閃爍范抓。如果瀏覽器無(wú)法解釋字體骄恶,則用戶只會(huì)看到空字符。由于這些場(chǎng)景對(duì)于專業(yè)網(wǎng)站來(lái)說(shuō)是不可接受的匕垫,因此更多的開發(fā)人員現(xiàn)在轉(zhuǎn)向使用SVG僧鲁。

什么是SVG?

SVG(可縮放矢量圖形)允許矢量圖形顯示在瀏覽器中象泵。SVG正在迅速成為網(wǎng)絡(luò)圖標(biāo)和動(dòng)畫的新標(biāo)準(zhǔn)寞秃。它們不僅提供出色的縮放,而且它們通常比圖標(biāo)字體更快速偶惠,更可靠地呈現(xiàn)春寿。由于矢量圖形完全由代碼組成,因此不必從大型外部文件導(dǎo)入它們洲鸠。它們的尺寸也比典型的JPG或PNG以及大多數(shù)圖標(biāo)字體庫(kù)小得多堂淡。

充分利用您的SVG可能需要克服一點(diǎn)學(xué)習(xí)曲線,但獎(jiǎng)勵(lì)非常值得付出努力扒腕。

SVG如何工作

可以<img>在HTML中的常規(guī)元素中使用SVG绢淀,使用width和height屬性來(lái)調(diào)整尺寸。但是瘾腰,此方法在某種程度上限制了您自定義SVG的能力皆的。

如果您希望能夠直接從HTML中進(jìn)一??步自定義SVG圖標(biāo),則只需將代碼直接粘貼到HTML文檔中即可內(nèi)聯(lián)SVG蹋盆。然后费薄,您可以通過(guò)使用CSS定位來(lái)更改顏色或應(yīng)用過(guò)濾器。以下是SVG圖標(biāo)的示例:

上面的代碼受Mozilla的啟發(fā)栖雾,在瀏覽器中顯示如下圖形:

雖然SVG代碼乍一看似乎令人生畏楞抡,但設(shè)計(jì)和控制SVG圖標(biāo)看似簡(jiǎn)單易行。實(shí)際上析藕,您可以使用Adobe Illustrator之類的程序來(lái)創(chuàng)建自己的矢量圖形以用作圖標(biāo)召廷。只需將它們保存為SVG文件,或者您可以在Illustrator界面中生成代碼账胧。您還可以將Google文檔中的繪圖導(dǎo)出為SVG文件竞慢。

圖標(biāo)字體仍然有用嗎?

圖標(biāo)字體遠(yuǎn)未過(guò)時(shí)治泥。雖然它們并不總是最有效也是最可靠的選項(xiàng)筹煮,但圖標(biāo)字體仍然相對(duì)簡(jiǎn)單且易于實(shí)現(xiàn),因此許多開發(fā)人員繼續(xù)使用它們居夹。根據(jù)使用的圖標(biāo)數(shù)量败潦,在舊項(xiàng)目中為SVG切換圖標(biāo)字體可能不值得本冲。然而,SVG是未來(lái)的權(quán)威方式变屁,因此您可以放心使用它們眼俊。

比較SVG與圖標(biāo)字體

為了幫助您確定選擇哪種圖標(biāo)格式,讓我們看看兩個(gè)選項(xiàng)在不同部門中的比較方式粟关。

1.尺寸

如果您選擇內(nèi)嵌SVG以添加樣式疮胖,它們可以快速增加大小,并且代碼可能變得非常麻煩闷板。值得注意的是澎灸,內(nèi)聯(lián)SVG代碼不會(huì)被用戶的瀏覽器緩存。另一方面遮晚,可以緩存外部SVG文件性昭。如果單個(gè)頁(yè)面上有很多圖標(biāo),那么圖標(biāo)字體可以提供比內(nèi)聯(lián)SVG更流暢的用戶體驗(yàn)县遣。當(dāng)然糜颠,如果您使用預(yù)制的圖標(biāo)字體集,那么您可能會(huì)在未使用的圖標(biāo)上浪費(fèi)資源萧求。

值得注意的是其兴,10個(gè)優(yōu)化的SVG圖標(biāo)可能比整個(gè)圖標(biāo)庫(kù)小得多。但是夸政,如果您只使用所需的圖標(biāo)創(chuàng)建自己的自定義圖標(biāo)庫(kù)元旬,則圖標(biāo)庫(kù)字體最終會(huì)變小。

2.表現(xiàn)

可以緩存圖標(biāo)字體守问,從而使它們直接從瀏覽器加載更快匀归。但是,它的缺點(diǎn)是它們會(huì)創(chuàng)建一個(gè)額外的HTTP請(qǐng)求耗帕。另一方面穆端,如果您正在內(nèi)聯(lián)SVG圖標(biāo),則不需要其他HTTP請(qǐng)求仿便,但瀏覽器無(wú)法緩存這些請(qǐng)求徙赢。

但是,您可以將SVG文件包含在外部文件中探越,從而使它們可以通過(guò)瀏覽器進(jìn)行緩存。同樣窑业,在性能方面钦幔,速度的差異將取決于您的圖標(biāo)字體/ SVG的大小。嘗試使用兩者運(yùn)行性能測(cè)試以確定哪一個(gè)加載更快常柄。

3.靈活性

兩種格式都可以使用CSS進(jìn)行樣式設(shè)置鲤氢,但內(nèi)聯(lián)SVG可以為您提供更多選項(xiàng)搀擂,例如字形筆劃和多色圖標(biāo)。你甚至可以有動(dòng)畫的網(wǎng)頁(yè)圖標(biāo)卷玉。

4.瀏覽器支持

無(wú)論您為圖標(biāo)選擇哪種格式哨颂,都可能需要執(zhí)行一些額外步驟才能使它們與舊版瀏覽器兼容。由于它們已經(jīng)存在更長(zhǎng)時(shí)間相种,因此圖標(biāo)字體得到了更廣泛的支持威恼。使用IE 6或更高版本(可能包括所有人)的任何人都應(yīng)該能夠看到您的圖標(biāo)字體。如果您使用SVG寝并,那么您可能希望包含JS polyfill以支持使用IE 8或更低版本的那些箫措。

但是,在2018年衬潦,由于大多數(shù)用戶已經(jīng)遠(yuǎn)離舊版瀏覽器版本斤蔓,無(wú)論您選擇圖標(biāo)字體還是SVG,這都不應(yīng)該是一個(gè)問(wèn)題镀岛。在SVG圖標(biāo)和現(xiàn)代瀏覽器方面唯一缺乏支持來(lái)自IE和Edge弦牡,它們無(wú)法正確擴(kuò)展SVG文件(建議使用高度,寬度等規(guī)則)漂羊。

5.可擴(kuò)展性

雖然SVG和圖標(biāo)字體都是基于矢量的驾锰,但瀏覽器會(huì)將圖標(biāo)字體解釋為文本,這意味著它們會(huì)受到抗鋸齒的影響拨与。因此稻据,SVG往往看起來(lái)比圖標(biāo)字體更銳利。

6.定位

由于圖標(biāo)字體必須通過(guò)偽元素插入买喧,因此定位字體圖標(biāo)可能會(huì)非常棘手捻悯。您可能必須考慮行高,垂直對(duì)齊和字母間距以及其他因素淤毛,以使偽元素和實(shí)際字形完美匹配今缚。對(duì)于SVG,您只需設(shè)置大小即可低淡。

7.可訪問(wèn)性

與圖標(biāo)字體不同姓言,SVG具有內(nèi)置的語(yǔ)義敏感元素,因此您不必包含任何變通方法來(lái)使屏幕閱讀器可以訪問(wèn)您的字體蔗蹋。

SVG圖標(biāo)工具和資源

Mozilla的開發(fā)者網(wǎng)絡(luò)有一個(gè)非常?全面的SVG教程?何荚,解釋了如何使用內(nèi)聯(lián)CSS來(lái)設(shè)置圖標(biāo)的樣式。除了Adobe Illustrator之外猪杭,還有一些工具可以幫助您實(shí)現(xiàn)SVG圖標(biāo)餐塘。IcoMoon是預(yù)制SVG和字體圖標(biāo)的絕佳資源,IcoMoon應(yīng)用程序允許您創(chuàng)建自己的皂吮。如果您正在尋找開源的東西戒傻,Inkscape是一個(gè)免費(fèi)的矢量繪圖程序税手,可以導(dǎo)出SVG文件。Convertio等工具允許您將其他圖像格式轉(zhuǎn)換為SVG文件需纳。

值得注意的是芦倒,像Illustrator和Inkscape這樣的程序經(jīng)常將額外的信息嵌入到您不需要的導(dǎo)出的SVG文件中。因此不翩,您應(yīng)該通過(guò)SVGOSVG Minifier之類的優(yōu)化工具運(yùn)行SVG圖標(biāo)兵扬,以便在將它們添加到您的網(wǎng)站之前將其修剪下來(lái)。

除了上面提到的資源外慌盯,還有各種各樣的圖標(biāo)網(wǎng)站周霉,提供高質(zhì)量的媒介作為付費(fèi)或免費(fèi)服務(wù)。查看我們的完整圖標(biāo)庫(kù)資源指南以及有關(guān)使用glyphicon CDN提高glyphicons速度的文章亚皂。

摘要

社區(qū)中仍然存在一些爭(zhēng)論俱箱,即圖標(biāo)字體是否優(yōu)于SVG,反之亦然灭必。事實(shí)是狞谱,在某些情況下,使一方或另一方“更好”的原因取決于使用它的環(huán)境禁漓。

但是跟衅,SVG往往是首選方法。它們具有更高的可擴(kuò)展性播歼,提供更好的用戶體驗(yàn)伶跷,并得到所有主流瀏覽器的支持。甚至一些頂級(jí)網(wǎng)絡(luò)性能專家也表示秘狞,在2018年叭莫,擺脫圖標(biāo)字體而轉(zhuǎn)向支持SVG至關(guān)重要。

請(qǐng)?jiān)谙旅娴脑u(píng)論中告訴我們您的想法烁试。您使用的是圖標(biāo)字體雇初,SVG圖標(biāo)還是兩者的組合?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末减响,一起剝皮案震驚了整個(gè)濱河市靖诗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌支示,老刑警劉巖刊橘,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異颂鸿,居然都是意外死亡伤为,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绞愚,“玉大人,你說(shuō)我怎么就攤上這事颖医∥获茫” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵熔萧,是天一觀的道長(zhǎng)糖驴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)佛致,這世上最難降的妖魔是什么贮缕? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮俺榆,結(jié)果婚禮上感昼,老公的妹妹穿的比我還像新娘。我一直安慰自己罐脊,他們只是感情好定嗓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著萍桌,像睡著了一般宵溅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上上炎,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天恃逻,我揣著相機(jī)與錄音,去河邊找鬼藕施。 笑死寇损,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铅碍。 我是一名探鬼主播润绵,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼胞谈!你這毒婦竟也來(lái)了尘盼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤烦绳,失蹤者是張志新(化名)和其女友劉穎卿捎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體径密,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡午阵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片底桂。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡植袍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出籽懦,到底是詐尸還是另有隱情于个,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布暮顺,位于F島的核電站厅篓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏捶码。R本人自食惡果不足惜羽氮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惫恼。 院中可真熱鬧档押,春花似錦、人聲如沸尤筐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盆繁。三九已至掀淘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間油昂,已是汗流浹背革娄。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冕碟,地道東北人拦惋。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像安寺,于是被迫代替她去往敵國(guó)和親厕妖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 這篇文章是一個(gè)名為Web和界面設(shè)計(jì)與矢量系列的一部分挑庶。 創(chuàng)建一組光面標(biāo)簽并將其保存為Web 快速提示:如何使用外觀...
    平面設(shè)計(jì)知識(shí)庫(kù)閱讀 3,543評(píng)論 0 9
  • 學(xué)會(huì)使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,314評(píng)論 2 66
  • 關(guān)系問(wèn)句一一善用重要他人對(duì)孩子的影響力 一言秸、關(guān)系問(wèn)句讓孩子學(xué)會(huì)換位思考 關(guān)系問(wèn)句是通過(guò)詢問(wèn)孩子對(duì)于重要他人(...
    尤占芳閱讀 174評(píng)論 0 0
  • 隨著我們讀的書越來(lái)越多,吸收的知識(shí)越來(lái)越多迎捺,需要進(jìn)行知識(shí)整合举畸。為什么呢? 其實(shí)就像我們喜歡買衣服一樣凳枝,你買了很多單...
    123涅槃閱讀 348評(píng)論 0 0
  • 不要測(cè)試人性抄沮。 初以為需以誠(chéng)待人,勿用劣境驗(yàn)人性。 現(xiàn)覺不然叛买,天下蕓蕓眾生砂代,凡人多而賢者幾何?人無(wú)不以己利為首率挣,疏...
    Withoutt閱讀 614評(píng)論 0 0