letter-spacing
letter-spacing
letter-spacing
属性控制文本字符之间的间距,以及与kerning
属性之间的任何间距。
对于SVG,如果属性值是一个无单位的数字(如128),则浏览器在当前用户坐标系中将其作为<length>进行处理。
如果属性值具有单位标识符(如.25em或)1%,则浏览器将<length>类型转换为当前用户坐标系中的相应值。
作为表示属性,它也可以用作CSS中的一个属性使用。查看css letter-spacing
的更多信息。
用法上下文
Categories | Presentation attribute |
---|---|
Value | normal | <length> | inherit |
Animatable | Yes |
Normative document | SVG 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()
返回完全相同的长度,这会导致当字母间隔时产生严重错误。