SVG 是一種使用 XML 描述 2D 圖形的文件格式,它具有伸縮性和交互性的優勢。而使用 CSS 來定義 SVG 的樣式,則可以方便的控制 SVG 的外觀和動畫。其中,使用<use>
標簽可以實現 SVG 圖形的重用。
在 HTML 中,我們可以使用<object>
或者<img>
標簽來加載 SVG 文件,但是這樣會導致樣式難以控制。使用<svg>
標簽和內置樣式表定義 SVG 文件的樣式,就可以方便的使用 CSS 控制 SVG 圖形的樣式。
<svg> <style> circle { fill: yellow; stroke: black; stroke-width: 2; } </style> <circle cx="50" cy="50" r="40"/> </svg>
以上代碼展示了如何使用內置樣式表來定義一個 SVG 圖形的樣式,這里是一個黃色的圓形。當然,還可以使用現有的 CSS 樣式來控制 SVG 的樣式,只需要給 SVG 元素添加 class 屬性,然后在 CSS 文件中定義樣式即可。
<style> .svg-circle { fill: blue; stroke: white; stroke-width: 3; } </style> <svg class="svg-circle"> <circle cx="50" cy="50" r="40"/> </svg>
以上代碼展示了如何通過給 SVG 元素添加 class 屬性,并在 CSS 文件中定義樣式,來控制 SVG 圖形的樣式。這里是一個藍色的圓形,具有白色邊框。
最后,回到<use>
標簽。它可以將已經定義好的 SVG 圖形引入到頁面中,實現圖形的重用。使用href
屬性來引入 SVG 文件,并使用xlink:href
屬性來引入本頁面已經存在的 SVG 元素。
<svg id="icon-diamond"> <path d="M10 0 L20 10 L10 20 L0 10 Z"/> </svg> <svg class="diamond-icon"> <use xlink:href="#icon-diamond" /> </svg>
以上代碼展示了如何使用<use>
標簽和xlink:href
屬性來引入本頁面已經存在的 SVG 圖形,并創建一個具有樣式的圖標,使得該圖標可以在頁面中重用。