Html5部分还是没部分?

时间:2011-03-04 16:06:15

标签: html5 html

我正在学习HTML5,老实说,我不能说我真的很感动。语义很好,但是我认为它们引入了新元素,它们之间有一条很细的线,它们和 old divs 之间的线条更细。

如果您使用通用目的网站,如博客引擎,新闻发布门户网站以及类似网站应用程序,那么一切都非常清楚......我对新版本有很多困境HTML元素。

这是我的情况。我正在开发一个订购系统。在卖家界面上,我有3列(内联),表示订单的状态。当状态改变时,元素从一列移动到另一列(背景ajax和js操作)。

在Html4中,我会使用3个div,并在每个div的顶部放置一个带标题的标题。列中的元素也可以是 divs

但HTML5怎么样?我一直在查看部分元素,但我不确定如何使用它。以下是选项:

  1. 将所有内容放在一个部分中 - 我认为不是这样的方式
  2. 在每个 div 列周围添加部分,并在部分
  3. 内标题
  4. divs 替换为部分
  5. 部分放在列 divs
  6. 那么,走哪条路?

    编辑:首先感谢大家的快速回复。最后,我可能会考虑Ian Devlins的建议,并将每列作为部分。无论如何,只是为了指出我对html5的不满,多个允许的选项并不总是一件好事。我担心几年后html5网络会是什么样子,当我们不能完全同意这样一个简单的问题时。

    EDIT2:还有一件事。我会在这里问,所以我不必打开另一个问题。除了这3列之外,我还有另一个 div ,其中包含订单详细信息,当选择任何订单时。它应该是文章,因为它的自包含内容,还是使用一边标记?

3 个答案:

答案 0 :(得分:4)

div是完全有效的HTML5代码。如果新标签在您的项目中没有任何意义,请不要被迫使用它们。

答案 1 :(得分:3)

引用w3.org规范:

  

section元素表示文档或应用程序的通用部分。在此上下文中,一个部分是内容的主题分组,通常带有标题。

w3.org人员的另一句话:

  

section元素不是通用容器元素。当为了样式目的而需要一个元素或为了编写脚本时,鼓励作者使用div元素。一般规则是,只有元素的内容在文档大纲中明确列出时,section元素才适用。

根据w3对section的定义,我们可以得出结论,你的例子可以很好地利用节,因为:

  1. 元素有标题
  2. 这是内容的主题分组
  3. 这是文件大纲的一部分。
  4. 修改 为了扩展您的评论,新的HTML5元素 NOT 应该替换旧的HTML4元素。例如,浏览一个页面并用div元素替换所有section元素将是错误的。在我看来,section元素旨在通过为页面提供更多语义结构,使机器更容易解析某些页面(想想:feedburners)。毕竟,什么更容易解析,一个包含30个div元素的网页,或一个包含10 div 5 header 5 section 5 article和5 { {1}}元素?

答案 2 :(得分:2)

在这种特殊情况下,我会围绕它们有一个整体div,然后每列作为一个部分,因为每个列都有不同的含义,我假设每一个都有一个标题指示其状态。

e.g。

<div>
   <section id="col1">
      <header><h1>Column 1</h1></header>
      content....
   </section>
   <section id="col2">
      <header><h1>Column 2</h1></header>
      content....
   </section>
   <section id="col3">
      <header><h1>Column 3</h1></header>
      content....
   </section>
</div>