Why is H2 larger than H1?

匿名 (未验证) 提交于 2019-12-03 02:49:01

问题:

In the following code snippet, why is the H2 content larger than the H1 content?

<article>     <section>     <header>         <h1>First Header</h1>     </header>     </section>     <section>     <header>         <h2>Second Header</h2>     </header>     </section> </article>

http://jsfiddle.net/abugp/

Why is the H1 content larger in the snippet below but not the one above?

<h1>First Line</h1> <h2>Second Line</h2>

http://jsfiddle.net/59T43/

回答1:

Since you haven't specified any styles, the size of the headings is determined by your browser's default style sheet. In particular, this means that the relative size of the two headers may vary depending on the viewer's browser.

Looking at your fiddle in Chrome 33, I do see the effect you describe. Right-clicking the headings and selecting "Inspect element" reveals that the issue is cause by the presence of the <article> and/or <section> tags around the headings.

In particular, Chrome's default style sheet normally includes the rules:

h1 { font-size: 2em }

and:

h2 { font-size: 1.5em }

However, the former rule is overridden inside <article> and/or <section> tags by some more specific rules, presumably designed to make section headings smaller than normal "full page" headings:

:-webkit-any(article,aside,nav,section) h1 {     font-size: 1.5em; }  :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1 {     font-size: 1.17em; }

The non-standard :-webkit-any(...) selector presumably just matches any of the tags listed inside the parentheses. The effect is that any <h1> headings inside an <article>, <aside>, <nav> or <section> tags is reduced to the size of a normal <h2> heading, and any <h1> inside two such tags is shrunk further down, presumably to the size of a normal <h3> or so.

Crucially, the Chrome default style sheet doesn't have any such special rules for <h2> tags, so they'll always (in Chrome 33, anyway) be shown at the same size. Thus, when surrounded by two or more <article> and/or <section> tags, <h1> becomes smaller than <h2>.



回答2:

It is because of documentation style requirements. You can find details at HTML 5.1 documentation @ 10.3.7 Sections and headings



回答3:

If you don't specify any style, your browser will choose its default style. In the first example the h1 and h2 are inside an header in a section, while in the second case they are in the root. Then it is admissible that the behaviour is different.



转载请标明出处:Why is H2 larger than H1?
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!