<header>标记可以包含在HTML5中的<aside>标记中吗?</aside> </header>

时间:2011-05-24 10:25:33

标签: html5 header semantics

我想知道这种结构在HTML5中是否在语义上是正确的。

<html>
<head></head>
<body>
    <aside>
        <header>
            <h1></h1>
        </header>
        <div>

        </div>
    </aside>
    <section id="content">

    </section>
</body>
</html>

我想要的是左侧酒吧占据屏幕的30%,标识和下面的一些东西,然后内容占据右侧的另外70%。

非常感谢。

2 个答案:

答案 0 :(得分:13)

鉴于HTML5仍然是草案,规范说

  

标题元素旨在   通常包含该部分的标题   (h1-h6元素或hgroup   element),但这不是必需的。   标题元素也可用于   包装部分的目录,a   搜索表单或任何相关徽标。

  

[aside]元素可用于   拉引号等印刷效果   或侧边栏,用于广告,用于   导航元素组,以及其他组   被视为独立的内容   来自页面的主要内容。

并且<aside />标记上唯一的“限制”是

  

使用旁边是不合适的   元素只是为了括号,因为   那些是主流的一部分   文件

事件虽然<header />标记内没有<aside />标记的明确示例,但我认为它们还可以。

链接:

  1. http://dev.w3.org/html5/spec/Overview.html#the-header-element
  2. http://dev.w3.org/html5/spec/Overview.html#the-aside-element

答案 1 :(得分:10)

使用您放置的代码本身没有任何问题,但请注意<aside>标记为a sectioning content element,因此内部为<header><h1>它将被视为<aside>的标题,而不是整个页面(至少在HTML5概述算法下,sadly, seems to be dead in practice)。

那可能就是你想要的。如果没有,那么如果左栏中的所有内容都只是页面的介绍性内容,您可以将其全部放在<header> element内并完全丢失<aside>

<html>
<head></head>
<body>
    <header>
        <h1></h1>
        <div>

        </div>
    </header>
    <section id="content">

    </section>
</body>
</html>