CSS `:before` 和 `:after` 偽元素可以設定內聯 SVG 的樣式嗎?
使用CSS :before 和:after 偽元素設定內聯SVG 樣式:一個困境
雖然:before 和:after 等CSS 偽元素通常用於樣式化樣式HTML 元素及其在內嵌SVG 上的應用提出了獨特的挑戰。了解替換元素和生成內容的細微差別對於解決此問題至關重要。
內嵌 SVG 作為替換元素
內嵌 SVG 通常被視為 HTML 中的替換元素。替換元素是指以外部物件(例如圖像或影片)取代文字的元素。它們顯示為單一單元,不能包含任何文字節點。
這種區別很重要,因為 CSS 產生的內容(例如 :before 和 :after 偽元素創建的內容)只能應用於內聯元素。內聯元素是那些與周圍文字一起流動的元素,它們可以包含文字節點。
產生的內容和替換的元素
CSS :before 和 :after 偽元素建立產生的內容,其中插入到選擇器匹配的元素中。但是,由於內聯 SVG 是替換元素,因此它們無法附加生成的內容。這是因為內容是添加在元素內部的,而替換的元素不允許嵌套內容。
替代方法
要克服此限制,可以探索替代方法:
- 帶有偽元素的外部SVG: 考慮將SVG作為外部文件載入並使用CSS 來將內容插入到父元素中。
- 包裝元素: 將內聯 SVG 包裝在包含的 div 中,並將偽元素應用於包裝而不是 SVG 本身。
W3C 建議的解決方案::outside Pseudo-Element
在W3C 中在文件「CSS3 產生和替換的內容模組」中,引入了一個名為:outside 的偽元素。 :outside 允許將產生的內容放置在關聯的替換元素之外,這可能為內嵌 SVG 樣式提供解決方案。但需要注意的是,此功能尚未廣泛實現,並且可能並非所有瀏覽器都支援。
以上是CSS `:before` 和 `:after` 偽元素可以設定內聯 SVG 的樣式嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

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

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

我關注的一件事是Lea Verou' s conic-Gradient()Polyfill的功能列表是最後一項:
