使用CSS 操作外部SVG 檔案樣式屬性
SVG 檔案中的沙箱問題
何時使用外部SVG 檔案時,嘗試使用CSS 操作內部SVG 屬性(例如填充或描邊)時可能會遇到限制。這是由於 SVG 檔案中稱為「沙盒」的功能造成的,該功能限制從外部來源直接存取 SVG 內容。
不透明度與其他屬性
不透明度是一個獨特的屬性,因為它影響 SVG 物件/框架的整體,而不僅僅是其內容。這允許 CSS 修改不透明度,即使它無法存取內部 SVG 內容。
操作限制的解決方案
雖然您無法直接從CSS 操作內部SVG 屬性,但有您可以探索兩個主要解決方案:
1。圖示系統(Font-Face 或 SVG Sprites)
圖示系統涉及將 SVG 轉換為特殊的「圖示」字體或 SVG Sprite 格式。這允許您使用字體或背景圖像引用圖標並向其應用 CSS 樣式。
2.透過內嵌SVG 進行直接CSS 修改
雖然不建議對外部SVG 檔案這樣做,但您可以將SVG 程式碼直接嵌入到HTML 中,並使用SVG 程式碼本身內的style 屬性套用CSS 樣式。
結論
由於沙箱機制的原因,從 CSS 操作內部 SVG 屬性並不簡單。然而,透過使用圖示系統,或在特殊情況下,透過內嵌 SVG 直接修改 CSS,您可以獲得與內嵌 CSS 操作類似的結果。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3