首頁 >web前端 >css教學 >如何使用 `` 標籤設定嵌入 SVG 的樣式?

如何使用 `` 標籤設定嵌入 SVG 的樣式?

Patricia Arquette
Patricia Arquette原創
2024-12-25 17:50:14666瀏覽

How Can I Style Embedded SVGs Using the `` Tag?

將樣式應用於嵌入式SVG

與透過 直接包含的SVG 不同,標籤,使用 嵌入SVG標籤無法使用文件樣式表中的CSS 設定樣式。

技術說明

樣式表僅適用於定義它們的文件的邊界內。嵌入式 SVG 被視為獨立的文檔,因此外部定義的樣式不會影響它們。

解決方案:基於腳本的樣式插入

由於標籤提供對嵌入式SVG 文件的訪問,您可以透過程式設計方式將樣式元素插入到嵌入式文檔中。這是一個範例:

var svgDoc = yourObjectElement.contentDocument;
var styleElement = svgDoc.createElementNS("http://www.w3.org/2000/svg", "style");
styleElement.textContent = "svg { fill: #fff }";
svgDoc.getElementById("where-to-insert").appendChild(styleElement);

這假設 在執行腳本之前元素已完全載入。

替代方法

  • 在SVG 中包含樣式表:從內部連結到外部樣式表使用?xml-stylesheet 處理指令或 的SVG 檔案中的元素
  • 使用 jQuery-SVG 外掛:利用 jQuery-SVG 外掛程式將 JavaScript 和 CSS 樣式套用到嵌入的 SVG。

直接CSS定位

如果嵌入的SVG 保存在單獨的文件中,您可以定義針對 的CSS 樣式元素本身,例如:

object[data="my-embedded-svg.svg"] {
  fill: #fff;
}

此方法不會將樣式套用於SVG本身,但它對於調整嵌入元素的整體外觀很有用。

以上是如何使用 `` 標籤設定嵌入 SVG 的樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn