网上的各种文字声称“pt”是没有提供时的默认字体大小单位,但是,我自己的测试似乎另有说明。我已经阅读了很多关于W3C的文件,涵盖了CSS 1-3的字体大小,我似乎无法在任何规范中找到对默认单元的实际引用。
我已经在Chrome和IE9中对此进行了测试,并得到了完全相同的结果:缺少单位的元素是最小的,px元素在中间,而pt元素是最大的。我尝试使用W3C定义的许多其他单位(例如“mm”,“ex”,“pc”等)匹配大小,但测试元素的 none 大小匹配目标元素(缺乏单位的元素)。
任何见解都将受到赞赏。
<div style="font-size: 20;">20 size</div>
<div style="font-size: 20px;">20px size</div>
<div style="font-size: 20pt;">20pt size</div>
答案 0 :(得分:8)
根据"CSS Fonts Module Level 3" font-size
属性可以包含以下值:
值:&lt; absolute-size&gt; | &LT;相对尺寸&GT; | &LT;长度&GT; | &LT;百分比&GT;
<absolute-size>
,<relative-size>
和<percentage>
在同一规范中定义,并且都是关键字(ex small
,larger
等)或者有百分比单位。
<length>
更通用的定义在"CSS Values and Units Module Level 3":
长度是指距离测量值,并由&lt; length&gt;表示。在属性定义中。长度为dimension。然而,对于零长度,单元标识符是可选的(即,可以在语法上表示为&lt; number&gt; 0)。
这意味着font-size
的无单位数字无效,0
有明确的例外。
话虽如此,<div style="font-size: 20;">20 size</div>
的大小是什么?
元素的渲染font-size
将取决于很多东西。但是,如果我们能够假设
font-size
font-size
(例如<font>
,<sub>
,<h1>
...是的,将这些元素作为无效标记作为父母,但它仍会改变font-size
)然后,我当前知道的每个现代浏览器中的默认font-size
都是16px
。