在大多数用户代理默认样式表中,为什么<h5>和<h6>的字体大小小于<p>?

Sea*_*ean 23 html css typography font-size

HTML5中的默认标题<h5><h6>部分标题的字体大小分别为0.83em0.67em,而默认<p>字体大小为1em。在文本块是指含有<h5><h6><p>标签,这些标题会比他们头上的文字较小:

相对于段落字体大小的从h1到h6的默认字体大小

(上面的默认正文字体大小为14px

这似乎是违反直觉的:标题应该引起人们的注意并命令一个部分的开始,并且字体大小是重要的视觉提示。为什么会有默认字体大小使这些标题小于其下的文字的原因?

Jac*_*ord 30

我一直在搜索W3C邮件列表,但没有对此决定进行任何辩论。

这是我可以推断的:

1995年

HTML规范的第一个发布版本(在CSS出现之前)实际上指定了该大小,h4并且h5应为“正常字体”大小。h6没有明确指定的字体大小,但是我想它也是正常的字体大小。

H3
         Italic, large font, slightly indented from the left
         margin. One or two blank lines above and below.

H4
         Bold, normal font, indented more than H3. One blank line
         above and below.

H5
         Italic, normal font, indented as H4. One blank line
         above.

H6
         Bold, indented same as normal text, more than H5. One
         blank line above.
Run Code Online (Sandbox Code Playgroud)

1996年

CSS出现了。或者说真的,到现场摔断了。仅为指定的浏览器推荐的第一个默认样式表:

H1 { font-size: xx-large }
H2 { font-size: x-large }
H3 { font-size: large }
Run Code Online (Sandbox Code Playgroud)

h4通过h6将因此1em

1997年

HTML 3.2删除了与文档文本相关的所有字体大小建议,仅建议

通常,较不重要的标题将以较大的字体显示。

这与CSS1有点冲突,但是两者在当时并不是彼此不可分割的。大多数样式仍然是使用内联HTML属性完成的,但仍然不建议过时。

1998年

CSS2出来了,它取消了它自己的规格默认的样式表,而是链接到新的样本样式表HTML 4.0HTML的规范。

1em至少据我所知,这是显式设置为小于的标头的来源。推荐的HTML 4.0样式表指定了大多数浏览器今天保留的默认值:

H5              { font-size: .83em; line-height: 1.17em; margin: 1.67em 0 }
H6              { font-size: .67em; margin: 2.33em 0 }
Run Code Online (Sandbox Code Playgroud)

  • @JacobFord我已经[挖掘了更多](/sf/answers/3951757981/),并将其追溯到(可能是)IE4.0pp2。我们不太可能发现IE是从哪里获得默认值的。 (4认同)

Bob*_*Bob 16

哦,数字考古!

因此,事实证明您可以将其追溯到Internet Explorer 3-4和Netscape Navigator 3-4的默认“样式”(不完全是CSS!)。更具体地说,它们很可能是从IE4pp2中提取的,但随IE3一起引入。不幸的是,IE / Microsoft如何决定这些价值观已失去了时间(至少是公开的-它很可能可以在Microsoft内部电子邮件存档中找到……任何认识MS员工的人?)。

我试图重建下面的链。


正如Jacob所提到的,最早于1997年11月发布的CSS2 草案包括一个示例样式表,该样式表定义了h5as .83emh6as .67em。它还指出:

基本样式表描述了所有HTML 4.0 [HTML40])元素可视化UA的典型呈现。样式表基于对当前UA如何渲染HTML的广泛研究,因此鼓励开发人员在其实现中将其用作默认样式表。


进一步研究,我们可以找到一个具有相同值的“基本样式表”,其中指出:

我为W3C CSS2草案开发了样式表样例,但是此位置的材料编辑开发并没有W3C正式地位。

...

基本样式表描述了马赛克衍生的Web浏览器(Netscape Navigator和Microsoft Internet Explorer)中所有HTML 4.0元素的“共识默认”呈现。它旨在作为编辑或“级联”其他样式表模块的基础,信息性参考,对HTML 4.0规范的(非正式)补充,样式表体系结构的练习以及浏览器测试工具。基本样式表捕获了现状,以便超越现状。

我们可以进一步将此基本样式表追溯到www样式的邮件列表。


可能感兴趣的是,在那时,W3C批准了一组旨在(?)成为更好默认值的“核心样式表”。这些样式表(现在可以通过互联网档案馆访问)都使用较大的值,所有的标题,导致h61emh51.17em。不幸的是,这组样式表似乎从未真正普及过,因此我们只剩下一个奇怪的小字体h5h6

  • 伟大的挖掘!我认为关于 W3C 核心样式表的最后一段似乎得到了答案:W3C 希望标题更大,但具有较小 h5 和 h6 的 IE 默认值成为我们现在坚持使用的事实上的默认值。我会在一两周内接受你的回答,除非有人响应你的电话,让在 Microsoft 工作的人挖掘旧电子邮件! (2认同)