DIV原样与带显示的SPAN之间的区别:区域
是的,他们是不同的。
即使你的风格跨度display: block
你仍然不能把块级元素里面:
<div><p>correct</p></div>
<span style="display: block;"><p>wrong</p></span>
的(X)HTML仍然要服从(X)HTML DTD(哪一个你使用),不管CSS如何改变事情。
是的。他们可以包含不同的东西,并允许在不同的地方。
他们也将在不同的环境中呈现,其中CSS不可用(例如,在一些电子邮件系统)
这里就是它使一个真正的区别(用于合法的代码,至少)一个例子:
<a href='example.com'>
<span class='title' style='display:block;'>The title of the image is also a link</span>
<img src="example.com/someimage.jpg"/>
</a>
这让你让你跨越一个块级元素,使图像和跨度突出在一起的时候蒙上了一层阴影。
div不能嵌套在标签内。
它将span _display_作为支持CSS的设备上的块,但它不会使其成为块级元素 - 它仍然是内联元素。在这种情况下,这实际上就是你想要的,因为块效应纯粹是为了视觉效果:-) – NickFitz 2009-07-17 09:00:29
A <div>是一个块级元素,它除了定义离散的内容块之外,没有其自己的特定语义。 A <范围>是一种内联元素,它除了定义内联内容的离散片段之外,没有其自己的特定语义。
你可以使用CSS将一个跨度显示作为一个块,但是绝对没有理由这样做编辑:除了纯粹的视觉效果,就像Gabriel演示的那样;我的意思是,你不应该使用CSS试图强制跨度在文档结构方面具有块级意义。此外,如果你这样做,你的内容可能对没有CSS的用户(比如盲人用户或搜索引擎)显得毫无意义。
如果是块,请使用div。如果它是内联内容的一部分,请使用跨度。请记住,CSS只是单纯的介绍;如果您的内容可用,您的标记仍然需要按照逻辑方式进行组织。
查看http://www.w3.org/TR/html401/struct/global.html#edef-DIV了解详情。
除了需要的字符数稍少之外,在`div:`display:inline`上使用`span`还有什么好处? – JAB 2012-07-23 20:38:34
OMG好的答案。 – VoidKing 2013-05-15 19:41:45