In the following code snippet, why is the H2 content larger than the H1 content?
在下面的代码片段中,为什么H2内容大于H1内容?
First Header
Second Header
http://jsfiddle.net/abugp/
http://jsfiddle.net/abugp/
Why is the H1 content larger in the snippet below but not the one above?
为什么H1内容在下面的代码段中更大而不是上面的那个?
First Line
Second Line
http://jsfiddle.net/59T43/
http://jsfiddle.net/59T43/
3 个解决方案
#1
51
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 and/or tags around the headings.
In particular, Chrome's default style sheet normally includes the rules:
特别是,Chrome的默认样式表通常包含以下规则:
h1 { font-size: 2em }
and:
和:
h2 { font-size: 1.5em }
However, the former rule is overridden inside and/or tags by some more specific rules, presumably designed to make section headings smaller than normal "full page" headings:
The non-standard :-webkit-any(...) selector presumably just matches any of the tags listed inside the parentheses. The effect is that any headings inside an , , or tags is reduced to the size of a normal heading, and any inside two such tags is shrunk further down, presumably to the size of a normal or so.
非标准的:-webkit-any(...)选择器可能只匹配括号内列出的任何标签。结果是
,
Crucially, the Chrome default style sheet doesn't have any such special rules for tags, so they'll always (in Chrome 33, anyway) be shown at the same size. Thus, when surrounded by two or more and/or tags, becomes smaller than .
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.