在以下代码片段中,为什么H2内容大于H1内容?
<article>
<section>
<header>
<h1>First Header</h1>
</header>
</section>
<section>
<header>
<h2>Second Header</h2>
</header>
</section>
</article>
Run Code Online (Sandbox Code Playgroud)
为什么H1内容在下面的代码段中更大而不是上面的那个?
<h1>First Line</h1>
<h2>Second Line</h2>
Run Code Online (Sandbox Code Playgroud)
Ilm*_*nen 56
由于您尚未指定任何样式,标题的大小由浏览器的默认样式表决定.特别是,这意味着两个标题的相对大小可能根据观众的浏览器而变化.
看看Chrome 33中的小提琴,我确实看到了你描述的效果.右键单击标题并选择"检查元素"可以发现问题是由标题周围存在<article>和/或<section>标记引起的.
特别是,Chrome的默认样式表通常包含以下规则:
h1 { font-size: 2em }
Run Code Online (Sandbox Code Playgroud)
和:
h2 { font-size: 1.5em }
Run Code Online (Sandbox Code Playgroud)
但是,之前的规则被内部<article>和/或<section>标签覆盖了一些更具体的规则,可能是为了使章节标题小于正常的"整页"标题:
:-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;
}
Run Code Online (Sandbox Code Playgroud)
非标准:-webkit-any(...)选择器可能只是匹配括号内列出的任何标签.其效果是,任何<h1>内部的标题<article>,<aside>,<nav>或<section>标签被降低到正常的尺寸<h2>标题,任何<h1>内部2个 这样的标签收缩进一步向下,大概是为了在正常的大小<h3>左右.
至关重要的是,Chrome默认样式表没有任何<h2>标签的特殊规则,所以它们总是(在Chrome 33中,无论如何)以相同的大小显示.因此,当被两个或更多个<article>和/或<section>标签包围时,<h1>变得小于<h2>.
| 归档时间: |
|
| 查看次数: |
12602 次 |
| 最近记录: |