如何使用HTML5元素构建网页?

时间:2013-03-27 13:15:08

标签: html5 html tags structure

我正在更新网站以使用一些HTML5结构元素。

我读过很多文章,但我还不是100%清楚。

我的问题是关于内容,而不是页眉或页脚元素。这是一个典型的例子:

<div id="main-content" class="grid-8">
    <section>
        <h1 class="grey-heading">How It Works</h1>
        // some section content here  
    </section>
</div>
<div id="sidebar" class="grid-4">
    <aside>
        // some related stuff here
     </aside>
</div>

如您所见,它是一个简单的主要内容/侧边栏设置。问题是,我是否正确保留结构div(因为他们所做的一切),或者是否可以在内容中添加结构内容?换句话说,删除div并将类/ id添加到section和asides?

感谢。

4 个答案:

答案 0 :(得分:5)

如果你的风格允许,你可以替换它们,它们为浏览器提供了额外的语义含义,这对辅助技术和网络爬虫特别有用。您的标记非常好,但如果您不需要它们来设置样式,请随时删除<div>。此外,如果要导航,您可能需要在侧栏使用<nav>

我想强调一下,你是否保留<div>是否取决于你,如果你提供HTML5语义标签,那么你就不会因为内部<div>而失去意义。如果您希望它们用于样式或组织,则为您的布局。 HTML5语义标签就像<div>一样,除了它们带有额外的语义之外。

以下是HTML5布局示例:

<header></header>
<nav></nav>
<section>
   <header></header>
   <article></article>
   <article></article>
   <footer></footer>
</section>
<aside></aside>
<footer></footer>

如果您使用的是HTML5代码,请确保使用modernizr等库作为旧版浏览器的填充。

参考

答案 1 :(得分:2)

你的包装纸应该换成新的标签,就像Kolink说的那样。

例如,您的class="main-wrapper"可以替换为<main>标记。同样,当<aside>可以完全自定义时,为什么要包装侧边栏?

<main>
    <section>
        <p>content</p>
    </section>
<main>

<aside>
    <p>content</p>
</aside>

所有这些都可以为他们制定特定的CSS布局,使您的标记“可读”且易于理解。显然,您可能需要课程,但这可以通过使用新的和预先存在的标签而不是任意<div>来帮助您的工作量

答案 2 :(得分:2)

http://html5doctor.com/element-index

在这里你可以阅读有用的资源

  

div元素根本没有特殊含义。它代表了它   儿童。它可以与class,lang和title属性一起使用   标记一组连续元素共有的语义。

  

Section代表通用文档或应用程序部分。在这   上下文,一个部分是内容的主题分组,通常带有   标题,可能有一个页脚。例子包括书中的章节,   选项卡式对话框中的各种选项卡式页面或编号的页面   论文的各个部分。网站的主页可以拆分为   介绍部分,新闻,联系信息。

答案 3 :(得分:1)

跨浏览器不完全支持分配了类/ id的HTML5元素。例如,如果aside有一个类,并且您尝试将css添加到该类,则它将无法呈现。如果你使用HTML5 Shiv,它应该解决这个问题,然后你的代码会更清洁,真棒!