<div>
标记用于对块元素进行分组。
<span>
标记用于对内联元素进行分组。
哪个HTML标记适合分组内联块元素? <div>
或<span>
或其他什么?为什么呢?
答案 0 :(得分:2)
您最初的假设是:
<div>
标记用于对块元素进行分组<span>
标记用于对内联元素进行分组。
不正确。
div
elements are defined as follows in the HTML spec:
div
元素根本没有特殊含义。它代表了它的孩子。它可以与class,lang和title属性一起使用,以标记一组连续元素共有的语义。
span
elements are defined as follows:
span
元素本身并不意味着什么,但与全局属性一起使用时可能很有用,例如class,lang或dir。它代表了它的孩子。
重要的区别在于div
元素的内容模型为flow content,而span
元素的内容模型为phrasing content。父元素的内容模型定义了父元素可以包含的子元素。
子元素是否为display: inline-block
并不重要,如果子元素不属于适当的内容模型,则可能无法有效地放置在父元素中。
答案 1 :(得分:1)
根据HTML规范,<span>
是内联元素,<div>
是块元素。现在可以使用显示 CSS属性进行更改,但是有一个问题:就 HTML验证而言,您不能将块元素放在内联元素中:
<span>...<div>foo</div>...</span>
即使您更改为内联块或内联块,也不是严格有效。
因此,如果您的元素是内联字符或内嵌块,请使用<span>
。如果是阻止级别元素,请使用<div>
。
答案 2 :(得分:1)
由于浏览器与inline-block
(IE6,IE7)的可比性问题以及需要应用*display:inline; zoom:1;
的修补程序才能让它们在block
元素上运行..
我会选择<span>
,因为即使IE6%IE7应用于inline-block
元素,也支持inline
。 (block
<div>
元素需要修复此问题
答案 3 :(得分:0)