我正在学习HTML5,老实说,我不能说我真的很感动。语义很好,但是我认为它们引入了新元素,它们之间有一条很细的线,它们和 old divs 之间的线条更细。
如果您使用通用目的网站,如博客引擎,新闻发布门户网站以及类似网站应用程序,那么一切都非常清楚......我对新版本有很多困境HTML元素。
这是我的情况。我正在开发一个订购系统。在卖家界面上,我有3列(内联),表示订单的状态。当状态改变时,元素从一列移动到另一列(背景ajax和js操作)。
在Html4中,我会使用3个div,并在每个div的顶部放置一个带标题的标题。列中的元素也可以是 divs 。
但HTML5怎么样?我一直在查看部分元素,但我不确定如何使用它。以下是选项:
那么,走哪条路?
编辑:首先感谢大家的快速回复。最后,我可能会考虑Ian Devlins的建议,并将每列作为部分。无论如何,只是为了指出我对html5的不满,多个允许的选项并不总是一件好事。我担心几年后html5网络会是什么样子,当我们不能完全同意这样一个简单的问题时。
EDIT2:还有一件事。我会在这里问,所以我不必打开另一个问题。除了这3列之外,我还有另一个 div ,其中包含订单详细信息,当选择任何订单时。它应该是文章,因为它的自包含内容,还是使用一边标记?
答案 0 :(得分:4)
div
是完全有效的HTML5代码。如果新标签在您的项目中没有任何意义,请不要被迫使用它们。
答案 1 :(得分:3)
引用w3.org规范:
section元素表示文档或应用程序的通用部分。在此上下文中,一个部分是内容的主题分组,通常带有标题。
w3.org人员的另一句话:
section元素不是通用容器元素。当为了样式目的而需要一个元素或为了编写脚本时,鼓励作者使用div元素。一般规则是,只有元素的内容在文档大纲中明确列出时,section元素才适用。
根据w3对section
的定义,我们可以得出结论,你的例子可以很好地利用节,因为:
修改强>
为了扩展您的评论,新的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>