什么是html5的最佳语义默认/起始布局?

时间:2010-05-26 13:00:08

标签: html html5 semantics

我对新标签的使用方式感到有些困惑。

这是否正确:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>

<body>

    <section>
        <header>
            <nav></nav>
        </header>
        <section>

        </section>
        <footer>

        </footer>
    <section>

</body>
</html>

或者其中一个部分应该是<article>?什么应该是起始布局?

6 个答案:

答案 0 :(得分:7)

<body>内的任何内容都不应该有“起始”布局。

<article><section>标记不是您必须填写的强制性开销,它们用于为概述分别设置高级别的标记块算法,如果您需要这样做。如果您的页面上只有一篇文章,这是一种常见的情况,那么将整个文章包装在<article>中没有任何好处。

目前,示例中的<section>元素无效。在你需要它们之前,把它们留下来。

(并且可以说无论如何都要将它们留出来,直到浏览器支持更好。对于IE,你需要使用HTML Shiv才能使其中的任何一个工作,并且仍然存在问题。对于更多的用户案例,这只是不是'还是值得的,因为它带来了少量的实际好处。另外,对于XML有效性,将doctype中的HTML更改为小写以匹配实际的根元素。)

答案 1 :(得分:2)

恕我直言,我认为你应该将导航与标题分开,因为你不能总是假设导航栏位于你的标题上(如果你的导航栏在旁边怎么办?)

除此之外,我认为它是布局的好骨架。 (除非您正在创建新闻或博客网站,否则我认为您不应该在基本布局中包含该标记

答案 2 :(得分:1)

您包含的内容取决于您拥有的内容。当然,您并不总是需要所有语义块标记。就个人而言,我现在坚持使用<div>元素,直到我重写我的网站。

答案 3 :(得分:1)

我会看看Dive到HTML 5,它有一些例子。这是相同内容的HTML4 blogHTML5-ified version

还有a chapter关于新的语义标记标记。

答案 4 :(得分:1)

这是我通常从以下开始:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <link href="/css/screen.css" rel="stylesheet" />
  </head>
  <body>

  </body>
</html>

为了简单起见,我使用HTML5 doctype和较短的字符集,并将body留空,因为我可能没有处理“完整”的HTML5项目。也就是说,该项目可能要求我避免使用新的HTML5分区元素,但这会将项目设置为以后更容易的过渡,并允许我使用HTML5的一些小额津贴(比如忽略我的type样式表link)。

如果你仍然对分段元素感到困惑,这里有几篇关于sectionarticle的文章。

答案 5 :(得分:0)

或查看我的writing a valid html5 document