首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解CSS字母间距:用0替换默认值normal有效吗?

理解CSS字母间距:用0替换默认值normal有效吗?
EN

Stack Overflow用户
提问于 2019-03-04 09:56:12
回答 2查看 5.1K关注 0票数 21

根据letter-spacing,CSS letter-spacing属性的默认值为normal

特别要注意的是,非默认值添加到默认值:

在使用字母间距时要注意的最重要一点是,指定的值不会更改默认值,它将添加到浏览器应用的默认间距中(基于字体度量)。字母间距也支持负值,这将收紧文本的外观,而不是放松它。

根据这一定义,由于0+ X =X,应等同于normal的默认值。

1)使用代替normal的默认值有效吗?(这是用于滑块实现的。)

2)为什么不是默认值?为什么要引入另一个值(即normal)?

这是在CodePen上的测试还表示,的值实际上相当于normal的默认值。

代码语言:javascript
复制
.loose {
  letter-spacing: 2px;
}

.tight {
  letter-spacing: -1px;
}

.zero {
  letter-spacing: 0;
}

.normal {
  letter-spacing: normal;
}
代码语言:javascript
复制
<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>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-04 10:03:54

不两者不是完全等同的。如果你检查当前规范

正常 该间距是当前字体的正常间距。此值允许用户代理更改字符之间的空格,以便对文本进行调整。

然后

<length> 除字符之间的默认空格外,此值还指示字符间空间.值可能为负值,但可能存在特定于实现的限制。用户代理可能不会为了对文本进行调整而进一步增加或减少字符间空间。

在大多数情况下,它们将呈现相同的内容,但正如您所读到的,用户代理并不处理这两者。

下一级草案中的定义似乎略有改变,现在两者是一样的。

由于遗留的原因,计算出的字母间距为零会产生正常值的解析值(getComputedStyle()返回值)。

您也可以在这里阅读:https://github.com/w3c/csswg-drafts/issues/1484

CSS2用于处理与0不同的正常值,因此不同的计算是必需的。既然规范对他们同样对待..。

我不知道是否所有的浏览器都已经实现了这个级别,但是您很可能认为它们是相同的

票数 21
EN

Stack Overflow用户

发布于 2019-03-04 10:03:30

根据Mozzila的文档:https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing#Values

当前字体的正常字母间距。与值为0不同的是,此关键字允许用户代理更改字符之间的空格以对文本进行调整。

似乎0更难将其设置为默认值。法线可以由用户代理修改。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54980706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档