首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带节标题标签的不同行为

带节标题标签的不同行为
EN

Stack Overflow用户
提问于 2015-12-14 10:32:24
回答 2查看 486关注 0票数 4

标题标记行为(h1和h2) --如果我在sectionaside中写入h1h2,则显示相同的字体大小,如果将其置于sectionaside标记之外,则正常工作。

我已经找了很多,但没有得到答案。

任何人都有答案。

代码语言:javascript
运行
复制
<h1>heading 1</h1>
<h2>heading 2</h2>
<h3>heading 3</h3>


<section>
    <h1>heading 1</h1>
    <h2>heading 2</h2>
    <h3>heading 3</h3>
</section>

<aside>
    <h1>heading 1</h1>
    <h2>heading 2</h2>
    <h3>heading 3</h3>
</aside>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-14 10:37:03

这是浏览器的自定义样式。h1在区段之外或旁边有font-size: 2em,但在部分、文章、旁边,nav有font-size: 1.5em,见devtools。

代码语言:javascript
运行
复制
:-webkit-any(article,aside,nav,section) h1 {
font-size: 1.5em;
-webkit-margin-before: 0.83em;
-webkit-margin-after: 0.83em;
}

article, section, nav, aside h1之外,有这样的样式

代码语言:javascript
运行
复制
h1 {
display: block;
font-size: 2em;
-webkit-margin-before: 0.67em;
-webkit-margin-after: 0.67em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
font-weight: bold;
}

如果你不想要这样的惊喜-用normalize.css重置浏览器样式)

票数 -1
EN

Stack Overflow用户

发布于 2015-12-14 11:02:03

根据HTML5规范,W3C的默认样式可以找到这里

现在,根据上面的规范,标签如下所示:

代码语言:javascript
运行
复制
h1 { margin-top: 0.67em; margin-bottom: 0.67em; font-size: 2.00em; font-weight: bold; }
h2 { margin-top: 0.83em; margin-bottom: 0.83em; font-size: 1.50em; font-weight: bold; }

因此,默认情况下,h1标记具有font-size: 2.00em;h2标记具有font-size:1.5em

到目前一切尚好。

但是,如果h1标记嵌套在articleasidenavsection元素中,那么h1将以不同的方式呈现:

下面是规范中的相关部分:(粗体是我的)

根据嵌套深度,article、、nav元素将影响h1元素的页边距和字体大小,以及hgroup元素中遵循h1元素的H2-h5元素。 如果x是一个与article撇开nav元素匹配的元素的选择器,那么以下规则将捕获所期望的内容:

代码语言:javascript
运行
复制
@namespace url(http://www.w3.org/1999/xhtml);

x h1 { margin-top: 0.83em; margin-bottom: 0.83em; font-size: 1.50em; }
x x h1 { margin-top: 1.00em; margin-bottom: 1.00em; font-size: 1.17em; }
x x x h1 { margin-top: 1.33em; margin-bottom: 1.33em; font-size: 1.00em; }
x x x x h1 { margin-top: 1.67em; margin-bottom: 1.67em; font-size: 0.83em; }
x x x x x h1 { margin-top: 2.33em; margin-bottom: 2.33em; font-size: 0.67em; }

注意,当h1标记嵌套在sectionaside等的1层时,默认情况下会得到font-size:1.5em

这解释了为什么h1元素在sectionaside元素中与问题中描述的h2元素(1.5em)具有相同的font-size

现在,如果h1元素在sectionaside (或navarticle)元素中嵌套的级别更高,那么h1元素的字体大小会越来越小。

为了说明这一点,请看一下这把小提琴,这里,因为h1嵌套在articlesection中--通过HTML5默认样式呈现甚至比h2还要小。

代码语言:javascript
运行
复制
<h1>heading 1</h1>
<h2>heading 2</h2>
<h3>heading 3</h3>

<hr />
<section>
  <h1>heading 1</h1>
  <h2>heading 2</h2>
  <h3>heading 3</h3>
</section>
<hr />
<article>
  <section>
    <h1>heading 1 - Nested by 2 levels - *smaller* than h2 !!</h1>
    <h2>heading 2</h2>
    <h3>heading 3</h3>
  </section>
</article>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34264788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档