为什么<h5>和</h5> <h6>的字体大小小于<p>?

时间:2019-04-15 20:30:27

标签: html css font-size typography

HTML5中的default <h5> and <h6> section headings的字体大小分别为0.83em0.67em,而默认的<p>字体大小为1em。这意味着在包含<h5><h6><p>标签的文本块中,这些标题将小于其标题的文本:

Default font sizes from h1 to h6 in relation to paragraph font size

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

这似乎是违反直觉的:标题应该引起人们的注意并指示部分的开始,并且字体大小是重要的视觉提示。使用默认字体大小使这些标题小于其下方的文本,是否有原因?

3 个答案:

答案 0 :(得分:15)

哦,数字考古!

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

我尝试重建下面的链。


正如Jacob所言,1997年11月以来CSS2的earliest draft包含一个sample stylesheet,该定义将h5定义为.83em,将h6定义为.67em 。它还指出:

  

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


再深入一点,我们可以找到一个具有相同值的"base stylesheet",其中指出:

  

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

...

  

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

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


可能感兴趣的是,在那个时候,W3C endorsed a set of "Core Style Sheets"打算(?)成为更好的默认值。这些样式表(now accessible via the Internet Archive)确实使用larger values for all headings,导致H6处的8/12.67em处的h6。不幸的是,这组样式表似乎从未真正普及过,因此我们只剩下了奇怪的小1emh5

答案 1 :(得分:1)

我一直在搜索WC3 mailing lists,但是对此决定没有任何争议。

这是我可以推断的:

1995

HTML规范的第一个发布版本(在CSS出现之前)实际上specified h4h5应该是“普通字体”大小。 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.

1996

CSS闯入现场。或者说真的,really到场景和breaks。仅推荐用于浏览器specifies的第一个默认样式表:

H1 { font-size: xx-large }
H2 { font-size: x-large }
H3 { font-size: large }

h4h6将为1em

1997

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

  

与不太重要的标题相比,更重要的标题通常以更大的字体呈现。

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

1998

CSS2出现了,它从自己的规范中删除了一个默认样式表,而是在{em> HTML的规范中links to新建了sample style sheet for HTML 4.0

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

H5              { font-size: .83em; line-height: 1.17em; margin: 1.67em 0 }
H6              { font-size: .67em; margin: 2.33em 0 }

像您一样,我会,这段时间阅读一些辩论或讨论。这不是偶然的决定:小于1em的值是有意的,专门使文本小于上下文。

我会继续寻找的,你也应该寻找!

答案 2 :(得分:0)

否,这只是默认字体大小。通常,您使用CSS文件编辑标题,您可以在其中选择每种字体大小。