我想问一些简单的例子来展示 <div>
和 <span>
的用法。我已经看到它们都用于标记页面的一部分 id
或 class
,但我想知道是否有时一个比另一个更受欢迎.
原文由 JSchaefer 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想问一些简单的例子来展示 <div>
和 <span>
的用法。我已经看到它们都用于标记页面的一部分 id
或 class
,但我想知道是否有时一个比另一个更受欢迎.
原文由 JSchaefer 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了完整起见,我邀请你这样想:
<p>
是一个段落, <li>
是一个列表项,等等,我们应该使用正确的标签为了正确的目的——不像过去我们缩进使用 <blockquote>
无论内容是否是引用。<div>
和 <span>
,因为否则,人们会回到滥用确实有意义的元素。原文由 AmbroseChapel 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答882 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答899 阅读✓ 已解决
2 回答782 阅读
1 回答771 阅读✓ 已解决
2 回答1.1k 阅读
div
是 块元素span
是一个 内联元素。这意味着要在语义上使用它们,div 应该用于包装文档的各个部分,而 span 应该用于包装文本、图像等的小部分。
例如:
请注意,在内联元素中放置块级元素是非法的,因此:
…是非法的。
编辑:从 HTML5 开始,一些块元素可以放在一些内联元素中。请参阅 此处 的 MDN 参考以获得非常清晰的清单。以上仍然是非法的,因为
<span>
只接受短语内容,而<div>
是流内容。你问了一些具体的例子,一个是从我的保龄球网站 BowlSK 上拿来的:
好的,发生什么事了?
在我的页面顶部,我有一个逻辑部分,即“标题”。由于这是一个部分,因此我使用了一个 div(具有适当的 ID)。其中,我有几个部分:用户栏和实际页面标题。标题使用适当的标签
h1
。作为一个部分的用户栏被包裹在div
中。其中,用户名包含在span
中,以便我可以更改样式。如您所见,我还在标题中围绕 2 个字母包装了span
,这允许我在样式表中更改它们的颜色。另请注意,HTML5 包括一组广泛的新元素,这些元素定义了常见的页面结构,例如文章、部分、导航等。
HTML 5 工作草案 的第 4.4 节列出了它们并给出了有关它们用法的提示。 HTML5 仍然是一个有效的规范,所以还没有什么是“最终的”,但是这些元素中的任何一个是否会走向任何地方都是非常值得怀疑的。如果您想在某些旧版本的 IE 中设置这些元素的样式,则需要使用 javascript hack - 您需要使用
document.createElement
创建每个元素之一,然后再在您的资源。有很多库会为您处理这个问题——用 Google 快速搜索一下 html5shiv 。