SVG 的應用方式多種多樣,而根據不同的應用方式,改變SVG 在不同狀態(懸停:hover、激活:active、焦點:focus、類名變化等)下的顏色策略也不同。讓我們分別來看一下:
內聯SVG
內聯SVG 是我個人最喜歡的SVG 使用方式,部分原因在於它易於訪問和样式化。
如果你習慣使用圖標字體,你可能會喜歡它們易於更改顏色的一點。圖標字體在某種程度上僅限於單色,而SVG 則不然,但仍然,更改圖標字體的單色非常容易。使用內聯SVG 允許你設置fill
屬性,該屬性會級聯到SVG 內的所有元素,或者如果需要,你可以分別填充每個元素。
SVG 符號/使用
存在所謂的SVG 雪碧圖,它是一組轉換為<symbol></symbol>
元素的SVG,這樣任何給定的圖標都可以通過<use></use>
元素輕鬆引用。
你仍然可以很容易地通過外部CSS 設置填充顏色,但有一些注意事項:
- 內部SVG 元素(如
<path></path>
)本身可以沒有填充。這允許從父SVG 設置的填充級聯到<use></use>
創建的Shadow DOM。一旦你在<symbol></symbol>
中添加了類似<path ... fill="blue"></path>
的內容,你就失去了外部CSS 的控制。 - 同樣,你無法像使用內聯SVG 一樣控制SVG 內各個元素的填充。這意味著你基本上處於單色區域。這涵蓋了大多數用例,但仍然是一個限制。
SVG 背景圖片
SVG 可以像PNG、JPG 或任何其他圖形格式一樣設置為背景圖片。此時,你基本上放棄了更改填充的能力。一種可能性(我認為不是特別好的一種)是為每個圖標準備兩個版本,分別使用不同的顏色,然後在它們之間切換:
如果你不想切換資源,我不會責怪你,所以另一種可能性是使用複雜的過濾器。
嘗試調整合適的過濾器以獲得正確的顏色是一件棘手的事情。幸運的是,Barrett Sonntag 創建了一個工具來幫你計算過濾器!將黑色轉換為紅色最終會得到一個古怪的組合,例如: invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%)
;。
SVG 還具有object
屬性,這在過去非常簡潔,因為它具有內置的回退機制——儘管如今瀏覽器的支持非常好,但我老實說從未使用過它。但如果你正在使用它,你可能需要使用這種過濾器技術來切換懸停時的顏色。
使用蒙版代替背景圖片
通過這種方式,SVG 仍然負責繪製形狀,但顏色來自其背後的背景顏色(或圖片!或漸變!)而不是SVG 本身。
SVG 背景圖片作為數據URL
這與上面的方法差別不大,但它確實提供了一種有趣的可能性:使用變量進行內部填充。以下是使用Sass 保持URL 為變量的示例:
你也可以使用原生CSS 自定義屬性來實現這一點!
以上是更改懸停在懸停的SVG的顏色的詳細內容。更多資訊請關注PHP中文網其他相關文章!

對於Astro,我們可以在構建過程中生成大部分網站,但是有一小部分服務器端代碼可以使用Fuse.js之類的搜索功能來處理搜索功能。在此演示中,我們將使用保險絲搜索一組個人“書籤”


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。