SVG
属性 | Attributes

letter-spacing

letter-spacing

letter-spacing属性控制文本字符之间的间距,以及与kerning属性之间的任何间距。

对于SVG,如果属性值是一个无单位的数字(如128),则浏览器在当前用户坐标系中将其作为<length>进行处理。

如果属性值具有单位标识符(如.25em或)1%,则浏览器将<length>类型转换为当前用户坐标系中的相应值。

作为表示属性,它也可以用作CSS中的一个属性使用。查看css letter-spacing的更多信息。

用法上下文

CategoriesPresentation attribute
Valuenormal | <length> | inherit
AnimatableYes
Normative documentSVG 1.1 (2nd Edition)

<length>

一个<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中,使用SVGLength或SVGAnimatedLength对象来表示<length>值。

适用元素

以下元素可以使用该letter-spacing属性

  • 文本内容元素,比如<text>和<tspan>。

  • css letter-spacing

用法说明

letter-spacing属性在SVG中支持得不好。截至2016年5月,无论如何设置letter-spacing,Firefox呈现出的文本完全一样。Chrome使用空格字母来呈现文本,但不正确地计算文本长度; 不管letter-spacing是否设置,textNode.getComputedTextLength()返回完全相同的长度,这会导致当字母间隔时产生严重错误。