根据letter-spacing,CSS letter-spacing属性的默认值为normal。
特别要注意的是,非默认值添加到默认值:
在使用字母间距时要注意的最重要一点是,指定的值不会更改默认值,它将添加到浏览器应用的默认间距中(基于字体度量)。字母间距也支持负值,这将收紧文本的外观,而不是放松它。
根据这一定义,由于0+ X =X,应等同于normal的默认值。
1)使用代替normal的默认值有效吗?(这是用于滑块实现的。)
2)为什么不是默认值?为什么要引入另一个值(即normal)?
这是在CodePen上的测试还表示,的值实际上相当于normal的默认值。
.loose {
letter-spacing: 2px;
}
.tight {
letter-spacing: -1px;
}
.zero {
letter-spacing: 0;
}
.normal {
letter-spacing: normal;
}<p>This type has no additional letter-spacing applied.</p>
<p class="loose">This type is letter-spaced loosely at <code>2px</code>.</p>
<p class="tight">This type is letter-spaced tightly at <code>-1px</code></p>
<p class="zero">This type is letter-spaced at <code>0</code></p>
<p class="normal">This type is letter-spaced at <code>normal</code></p>
发布于 2019-03-04 10:03:54
不两者不是完全等同的。如果你检查当前规范
正常 该间距是当前字体的正常间距。此值允许用户代理更改字符之间的空格,以便对文本进行调整。
然后
<length>除字符之间的默认空格外,此值还指示字符间空间.值可能为负值,但可能存在特定于实现的限制。用户代理可能不会为了对文本进行调整而进一步增加或减少字符间空间。
在大多数情况下,它们将呈现相同的内容,但正如您所读到的,用户代理并不处理这两者。
下一级草案中的定义似乎略有改变,现在两者是一样的。
由于遗留的原因,计算出的字母间距为零会产生正常值的解析值(getComputedStyle()返回值)。
您也可以在这里阅读:https://github.com/w3c/csswg-drafts/issues/1484
CSS2用于处理与0不同的正常值,因此不同的计算是必需的。既然规范对他们同样对待..。
我不知道是否所有的浏览器都已经实现了这个级别,但是您很可能认为它们是相同的
发布于 2019-03-04 10:03:30
根据Mozzila的文档:https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing#Values
当前字体的正常字母间距。与值为0不同的是,此关键字允许用户代理更改字符之间的空格以对文本进行调整。
似乎0更难将其设置为默认值。法线可以由用户代理修改。
https://stackoverflow.com/questions/54980706
复制相似问题