当我使用Chrome Dev Tools
检查元素时,font-size
标记缺少默认的h4
属性。所有其他标签如h1,h2,h3,h5,h6都显示font-size
属性。
请参见屏幕截图
我已经检查了HTML 4的默认样式表,这里也缺少font-size
属性。
参考:http://www.w3.org/TR/CSS21/sample.html
h1 { font-size: 2em; margin: .67em 0 }
h2 { font-size: 1.5em; margin: .75em 0 }
h3 { font-size: 1.17em; margin: .83em 0 }
h4, p,
blockquote, ul,
fieldset, form,
ol, dl, dir,
menu { margin: 1.12em 0 }
h5 { font-size: .83em; margin: 1.5em 0 }
h6 { font-size: .75em; margin: 1.67em 0 }
这种行为的正当理由是什么? 提前谢谢。
答案 0 :(得分:1)
原因是浏览器样式表的设计者想要使h4
的默认字体大小等于1em
,即其父级的字体大小。这使它适合标题字体大小的比例。如果没有为元素设置font-size
,它会从其父级继承大小,因此结果与h4 { font-size: 1em }
的结果相同。 (并非在所有情况下,但在这些情况下。浏览器的默认样式表在级联中最低,因此任何其他样式表中的相关设置将覆盖它。)
请注意,CSS 2.1规范中HTML 4的示例样式表已过时,并且包含一些从未在浏览器中实现的奇怪设置,并且许多设置已在稍后进行了调整。 HTML5 PR中的Rendering部分包含对浏览器中典型(以及或多或少推荐)默认设置的更为现代的描述。为清楚起见,它明确地在font-size: 1.00em;
上设置了h4
。