自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SVG Favicon FTW 你不知道的居然還有這些!

譯文
開發(fā)
本文探索了 SVG 收藏夾圖標(biāo)的有趣新世界。我們介紹了將它們添加到 HTML、使用表情符號、將它們內(nèi)聯(lián)為數(shù)據(jù) URI 以及支持暗模式。

【51CTO.com快譯】我最近一直在做一輔助項目(Style Check和Bedrocss),就像我其他任何長期項目一樣,我已經(jīng)到了想要添加favicon的地步。

于是,我決定嘗試使用 SVG 圖標(biāo),在BOO Safari瀏覽器上是足以支持的,但對于一些需求還不是達到要求。如果在不受支持的瀏覽器上沒有顯示圖標(biāo),也是可以接受的。

通過使用 SVG,可以獲得很多的好處,例如:

• 單個文件的清晰圖像質(zhì)量

• 對表情符號的支持

• 內(nèi)聯(lián)圖標(biāo)(無需鏈接資源)

• 暗模式檢測

為了了解如何將 SVG 圖標(biāo)添加到項目中,因此,通過對以下示例(除了表情符號)進行操作,我們將使用一個非?;镜膱A形 SVG:

  1. <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> 
  2.   <circle cx="50" cy="50" r="50"/> 
  3. </svg> 

將 SVG Favicon 添加到 HTML

將favicon添加到網(wǎng)站的語法同以往操作一樣,同樣適用于 SVG 收藏夾圖標(biāo)(減去文件擴展名)。

在 HTML 文件的<head>標(biāo)簽中,放置一個<link>元素,其rel屬性設(shè)置為“icon”,href屬性設(shè)置為圖標(biāo)所在的路徑。

  1. <link rel="icon" href="path/to/favicon.svg"/> 

因為我們使用的是 SVG,所以圖標(biāo)可以是任何你想要的大小,只要確保畫布是方形的。

如果需要搜索免費圖標(biāo),icones是一個很好的資源,或者可以使用penpot創(chuàng)建自己的圖標(biāo)。

將 SVG Favicon 內(nèi)聯(lián)為 Data-URI

在切換到 SVG 收藏夾圖標(biāo)后,我嘗試做的第一件事是看看是否可以將它們與內(nèi)聯(lián)格式一起使用,而不是鏈接到單獨的文件。

曾經(jīng)在內(nèi)聯(lián)圖像或背景中使用過 Data-URI 技巧,它的效果非常好,并且,也適用于網(wǎng)站圖標(biāo)。

不要鏈接到路徑,而是在整個 SVG 代碼前加上data:image/svg+xml;utf8,(包括最后一個逗號)并將整個內(nèi)容傳遞給href屬性。

  1. <link rel="icon" href="data:image/svg+xml;utf8,<svg...>...</svg>"

我真的很喜歡這種方法,因為如果忘記將圖標(biāo)文件放在某個文件夾中的某個位置,我可以將此代碼復(fù)制/粘貼到任何項目(我的大多數(shù)副項目都使用相同的圖標(biāo))。

當(dāng)然,你可能會覺得這樣使用內(nèi)聯(lián) SVG 圖標(biāo)不太好,因為這樣會占用內(nèi)存,并且在每個頁面上添加內(nèi)聯(lián) SVG 會增加 HTML 的大小。

如果只有一個網(wǎng)站要處理,這可能不是什么大問題,但對于一個維護多個網(wǎng)站并使用同一個favicon的人來說,是一個不錯的選擇。

使用表情符號表達Favicon

Lea Verou在推特上展示了如何將表情符號添加為Favicon,使用方法特別簡單。

語法的工作原理與之前相同,由于SVG通過<text>元素支持文本內(nèi)容,并且表情符號幾乎都是文本,因此可以在 SVG 中將放置任何表情符號(可能需要四處移動以適應(yīng)正確的位置一些移動來適應(yīng))。

  1. <link rel="icon" href="data:image/svg+xml,<svg xmlns="http://w3.org/2000/svg" viewBox="0 0 100 100"> 
  2. <text y=".9em" font-size="90">[place emoji here]</text> 
  3. </svg>" /> 

這使得創(chuàng)建favicon非常容易,而無需創(chuàng)建自定義favicon。查看Bryson Reece提供的emojicon.dev,可以得到一個表情符號列表,點解其中任何一個,將整個favicon片段復(fù)制到剪貼板上。

除此之外,Wes Bos還創(chuàng)建了fav.farm。這是一項第三方服務(wù),將為你生成網(wǎng)站圖標(biāo)??梢允褂媚阆胍谋砬榉栔苯渔溄拥剿姆?wù)。

  1. <link rel="icon" href="https://fav.farm/[place emoji here]" /> 

開發(fā)社區(qū)的創(chuàng)造力從未停止,在那里有很多很酷、聰明和有創(chuàng)意的開發(fā)者。

添加暗模式檢測

我們可以在SVG中添加一個<style>標(biāo)記,并使用prefers color scheme media查詢根據(jù)用戶的暗模式首選項更改圖標(biāo)。

  1. <link rel="icon" href="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'
  2.   <style> 
  3.     svg { 
  4.       background: white; 
  5.     } 
  6.     circle { 
  7.       fill: black; 
  8.     } 
  9.     @media (prefers-color-scheme: dark) { 
  10.       svg { 
  11.         background: black; 
  12.       } 
  13.       circle { 
  14.         fill: white; 
  15.       } 
  16.     } 
  17.   </style> 
  18.   <circle cx="50" cy="50" r="50"/> 
  19. </svg>"> 

在本例中,我直接針對SVG和<circle>,但你也可以使用類。對于定制SVG,你可能需要這樣做。 

SVG中的<style>標(biāo)記包含在該XML文檔中,因此你不必擔(dān)心樣式會泄漏到應(yīng)用程序的其余部分中。

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:梁菲 來源: AZone
相關(guān)推薦

2022-01-04 07:30:24

IT熱門技術(shù)

2018-09-03 11:30:44

跳槽潛規(guī)則工資

2022-04-24 16:00:15

LinuxLinux命令ls命令

2022-03-03 07:00:43

Mybatiswhere標(biāo)簽

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket瀏覽器

2022-05-05 12:02:45

SCSS函數(shù)開發(fā)

2020-03-05 11:10:18

Left join數(shù)據(jù)庫MySQL

2018-09-02 15:43:56

Python代碼編程語言

2017-03-17 20:03:20

人臉識別

2019-03-15 16:28:17

攜號轉(zhuǎn)網(wǎng)網(wǎng)絡(luò)質(zhì)量電話卡

2015-04-14 09:46:09

Apple Watch秘密

2018-05-08 14:24:50

虛擬化服務(wù)器網(wǎng)絡(luò)

2010-08-23 09:56:09

Java性能監(jiān)控

2020-06-22 15:41:20

IF函數(shù)Excel用法

2023-09-08 08:23:29

Servlet程序MVC

2011-09-15 17:10:41

2022-10-13 11:48:37

Web共享機制操作系統(tǒng)

2009-12-10 09:37:43

2021-02-01 23:23:39

FiddlerCharlesWeb
點贊
收藏

51CTO技術(shù)棧公眾號