div 是块元素, span 是内联的 .
这意味着要在语义上使用它们,div应该用于包装文档的各个部分,而 Span 应该用于包装文本,图像等的一小部分 .
例如:
请注意,将块级元素放在内联元素中是违法的,因此:
......是非法的 .
编辑:从HTML5开始,一些块元素可以放在一些内联元素中 . 有关非常清晰的列表,请参阅MDN参考here . 以上仍然是非法的,因为 只接受短语内容,
你问了一些具体的例子,所以从我的保龄球网站上拿出一个例子,BowlSK:
好的,发生了什么?在我的页面顶部,我有一个逻辑部分,"header" . 由于这是一个部分,我使用div(具有适当的id) . 在其中,我有几个部分:用户栏和实际页面 Headers . Headers 使用适当的标记 h1 . 用户栏是一个部分,包含在 div 中 . 在其中,用户名包含在 span 中,以便我可以更改样式 . 正如你所看到的,我还在 Headers 中包含了一个大约2个字母的 span - 这允许我在样式表中更改它们的颜色 .
另请注意,HTML5包含一组广泛的新元素,用于定义常见的页面结构,例如文章,部分,导航等 . HTML 5 working draft的第4.4节列出了它们,并提供了有关其用法的提示 . HTML5仍然是一个工作规范,所以没有什么是"final",但是这些元素中的任何一个都在任何地方都是非常值得怀疑的 . 如果你想在一些旧版本的IE中设置这些元素的样式,你需要使用javascript hack - 在你的源代码中指定任何元素之前,你基本上需要使用 document.createElement 创建每个元素之一 . 有很多库会为你解决这个问题 - 快速谷歌搜索出现了html5shiv .