meo*_*meo 9 html html5 semantic-markup
我正在使用Chrome outliner扩展来检查我的页面的语义.在文档主标题标记中的h1之前有任何结构元素似乎是一个问题.我认为顺序无关紧要,但显然它确实如此:
+Document Body
+Header
+nav
+h1 Main Navigation
+h1 MyPage
-Section
-Footer
Run Code Online (Sandbox Code Playgroud)
是这样的大纲:
Untitled Body
Main Navigation
MyPage
etc...
Run Code Online (Sandbox Code Playgroud)
但是当h1是我标题中的第一个元素时:
+Document Body
+Header
+h1 MyPage
+nav
+h1 Main Navigation
-Section
-Footer
Run Code Online (Sandbox Code Playgroud)
它的轮廓如下:
MyPage
Main Navigation
etc...
Run Code Online (Sandbox Code Playgroud)
这是为什么?是大纲车,还是我理解HTML5语义中的错误?W3C规范似乎没有提到它:http://dev.w3.org/html5/spec/Overview.html#the-header-element
重新审视规范后,我同意h1不一定是第一个元素.我怀疑问题在于您使用的Chrome扩展程序.
我通过这个HTML大纲工具运行了以下两个场景,并收到了相同的结果(我的导航显示在我的标题下):
在标题下使用h1第二个元素:
<body>
<header>
<h1>My Header</h1>
<nav><h1>My Navigation</h1></nav>
</header>
<section><h1>My Section</h1></section>
<footer></footer>
</body>
Run Code Online (Sandbox Code Playgroud)
使用标题下的H1第一个元素:
<body>
<header>
<nav><h1>My Navigation</h1></nav>
<h1>My Header</h1>
</header>
<section><h1>My Section</h1></section>
<footer></footer>
</body>
Run Code Online (Sandbox Code Playgroud)