width

« SVG 属性参考主页

该属性在用户坐标系统中标识了一个水平长度。该坐标的确切效果依赖于每个元素。大多数时候,它体现引用元素的矩形区域的宽度(请阅读每个元素的文档以了解例外情况)。

除了<svg>元素之外,别的元素都必须指定该属性,<svg>的宽度默认是100%,而<filter>元素以及<mask>元素的默认宽度是120%

用法

类别
<length>
可变性 Yes
<length>

一个长度是一个可度量的距离,给定一个数字以及一个单位。长度可以用两种方法指定。如果在样式表中使用它,可以如下定义<length>:

length ::= number (~"em" | ~"ex" | ~"px" | ~"in" | ~"cm" | ~"mm" | ~"pt" | ~"pc")?

请阅读 CSS2 规范 以了解单位标识符的意义。

在 CSS2 中定义的长度属性,必须提供单位标识符。而 SVG 专用属性的长度值以及它们对应的外观属性,长度单位标识符是可选的。如果没有提供单位标识符,长度值代表当前用户坐标系统中的一段距离。对于外观属性,无论是定义在 SVG1.1 还是定义在 CSS2 中,长度单位标识符必须是小写的。

如果是在 SVG 属性中使用长度,<length>需定义如下:

length ::= number ("em" | "ex" | "px" | "in" | "cm" | "mm" | "pt" | "pc" | "%")?

在这样的 <length> 值中,单位标识符必须是小写的。

注意,非属性 <length> 定义同样允许百分比单位标识符。这意味着一个百分比长度值依赖于被指定百分比长度值的属性。分两种情况:

  • 百分比长度值表达了一个视口宽度或高度的百分比;
  • 百分比长度值表达了一个给定对象上的边界盒的宽度或高度的百分比。

在 SVG DOM 中,<length>值可以用SVGLength (en-US)对象或SVGAnimatedLength (en-US)对象来表达。

元素

下列元素可以使用width属性:

规范

Specification
Filter Effects Module Level 2
# element-attrdef-filter-width
Filter Effects Module Level 2
# element-attrdef-filter-primitive-width
CSS Masking Module Level 1
# element-attrdef-mask-width
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
# Sizing
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
# PatternElementWidthAttribute