SVG¶
- SVG¶
可缩放矢量图形(Scalable Vector Graphics,SVG),是一种用于描述二维矢量图形,基于 XML 的标记语言。作为一个基于文本的开放网络标准,SVG 能够优雅而简洁地渲染不同大小的图形,并和 CSS,DOM,JavaScript 和 SMIL 等其他网络标准无缝衔接。本质上,SVG 相对于图像,就好比 HTML 相对于文本。
- XML¶
…
HTML 相关元素¶
<svg>
¶…
<g>
¶…
<rect>
¶…
<circle>
¶…
<ellipse>
¶…
<line>
¶…
<polyline>
¶…
<polygon>
¶…
<path>
¶…
<defs>
¶<defs>
元素用于存储以后使用的图形对象。在<defs>
元素中创建的对象不会直接呈现。要显示它们,你必须引用它们(例如使用 <use> 元素)。图形对象可以从任何地方引用,但是,在
<defs>
元素中定义这些对象可以提高 SVG 内容的可理解性,并有利于文档的整体可访问性。<use>
¶<use>
元素从 SVG 文档中获取节点,并将它们复制到其他地方。效果就像将节点深度克隆到一个非公开 DOM 中,然后粘贴到
<use>
元素所在的位置,很像 HTML5 中克隆的模板元素。<linearGradient>
¶<linearGradient>
元素允许定义线性渐变,可以应用于图形元素的填充或描边。注解
不要与 CSS linear-gradient() 混淆,因为 CSS 渐变只能应用于 HTML 元素,而 SVG 渐变只能应用于 SVG 元素。
<stop>
¶SVG
<stop>
元素定义了在渐变中使用的颜色及其位置。这个元素总是<linearGradient>
或<radialGradient>
元素的子元素。<radialGradient>
¶<radialGradient>
元素允许作者定义径向渐变,可以应用于图形元素的填充或描边。注解
不要与 CSS radial-gradient() 混淆,因为 CSS 渐变只能应用于 HTML 元素,而 SVG 渐变只能应用于 SVG 元素。
<pattern>
¶<pattern>
元素定义了一个图形对象,该对象可以在重复的x
和y
坐标间隔(“平铺”)重新绘制,以覆盖一个区域。