我可以使用多个" main"同一页面中的html标签?

时间:2016-01-20 09:43:00

标签: html html5 semantics

例如,如果我想将h1放在左列中,将内容放在右列中:

<div class="left-column">
 <main>
  <h1>Document Title</h1>
 </main>
</div>
<div class="right-column">
 <main>
  <p>Text content<p>
 </main>
</div>

这是对的吗?谢谢!

4 个答案:

答案 0 :(得分:8)

简短的回答是肯定的,你可以。但是,W3C spec允许WHATWG spec禁止它。由于main元素的作者写了W3C版本并且与WHATWG的解释不一致,我会推迟到那里。 WHATWG规范与W3C规范一致也存在漏洞。

但是,你不应该main的最佳用途是支持辅助技术(AT)(例如屏幕阅读器)。它还映射到main的ARIA角色,因此它具有直接的映射期望。

AT用户可以快速导航到main元素,该元素代表页面的主要内容。如果您使用多个,那么这些用户可能永远不会看到它,因为他们不希望有多个主要内容块(WHATWG错误报告证实了AT用户所说的)。

HTML验证器也会抛出错误,这可能是也可能不是问题。

在大多数情况下,多个article元素可以嵌套在main中,以达到样式挂钩所需的效果。

我没有足够的代表点发布超过2个链接,否则我会提供更多资料。

答案 1 :(得分:1)

我认为不是 - 文档中不得有多个<main>元素。 <main>元素不得是<article><aside><footer><header><nav>元素的后代。

答案 2 :(得分:0)

每页只能使用一次。在这里看到这个链接

http://html5doctor.com/the-main-element/

有关原因的更多信息。看看这个

http://lists.w3.org/Archives/Public/public-html/2013Jan/0230.html

答案 3 :(得分:0)

这是Alignment

&#13;
&#13;
<div class="left-column">
 <main>
  <h1 align="left">Document Title</h1>
 </main>
</div>
<div class="right-column">
 <main>
  <p align="right">Text content<p>
 </main>
</div>
&#13;
&#13;
&#13;