网络上的各种文本声称“pt”是默认的字体大小单位,但没有提供,但是,我自己的测试似乎证明并非如此。我已经阅读了许多关于 W3C 的文档,其中涵盖了 CSS 1-3 的字体大小,但我似乎无法在任何规范中找到对默认单位的实际引用。
我已经在 Chrome 和 IE9 中对此进行了测试,并得到了完全相同的结果:缺少单位的元素最小,px 元素在中间,pt 元素最大。我尝试使用 W3C 定义的许多其他单位(例如“mm”、“ex”、“pc”等)来匹配大小,但是没有测试元素的大小匹配到目标元素(缺少单位的元素)。
如有任何见解,我们将不胜感激。
<div style="font-size: 20;">20 size</div>
<div style="font-size: 20px;">20px size</div>
<div style="font-size: 20pt;">20pt size</div>
最佳答案
根据 "CSS Fonts Module Level 3" font-size
属性可以具有以下值:
Value: <absolute-size> | <relative-size> | <length> | <percentage>
<absolute-size>
, <relative-size>
, 和 <percentage>
在同一规范中定义,并且都是关键字(例如 small
、 larger
等)或具有百分比单位。
<length>
"CSS Values and Units Module Level 3" 中定义了更通用:
Lengths refer to distance measurements and are denoted by <length> in the property definitions. A length is a dimension. However, for zero lengths the unit identifier is optional (i.e. can be syntactically represented as the <number> 0).
这意味着 font-size
的无单位数字无效,但有一个明确的异常(exception) 0
.
话虽如此,<div style="font-size: 20;">20 size</div>
的大小是多少?正在渲染?
呈现的 font-size
一个元素的大小将取决于很多事情。但是,如果我们能够假设
- 用户没有自定义他们的默认
font-size
- 浏览器使用默认样式
- 没有父元素会改变
font-size
(例如<font>
、<sub>
、<h1>
...是的,将这些元素作为父元素是无效标记,但它仍会更改font-size
)
那么默认font-size
在我目前知道的每个现代浏览器中都是 16px
.
关于css - 字体大小的默认单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907749/