内联元素可以包含块元素吗?

时间:2011-06-22 12:16:46

标签: html

内联元素是否可以包含例如块元素:列表是否可以包含段落?

7 个答案:

答案 0 :(得分:5)

暂且不论LI和P都是块级......

这样做永远不会有效,但在行为方面,有时可以将块级元素嵌套在内联级别1中,但这取决于浏览器解析器。

例如,在FireFox 3.x中,带有此标记

<!DOCTYPE html>
<i>
   foo
   <div>bar</div>
   baz
</i>

将以斜体显​​示foo,bar和baz。

但是这个标记,用内联元素<i>替换了内联元素<var>(它也有斜体作为默认渲染)

<!DOCTYPE html>
<var>
   foo
   <div>bar</div>
   baz
</var>

只会以斜体显示foo。

JSFiddle for this

其他浏览器的行为不一样。这就是为什么你应该坚持使用有效标记的原因之一。

答案 1 :(得分:2)

可以,但不会通过验证。有一些方法可以在这里进行彻底讨论: Is it wrong to change a block element to inline with CSS if it contains another block element?

答案 2 :(得分:0)

在内联块中使用块元素是不正确的标记。如果浏览器和Doctype是宽松的,它仍然可以渲染,但它无效。

然而,您可以使用CSS,如here所述。

答案 3 :(得分:0)

如果希望块元素的行为类似于内联元素,请将display属性设置为inline-block。如果您需要支持IE 7或6,对于IE样式表中的相同元素,请添加以下两个规则:zoom:1; display:inline

答案 4 :(得分:0)

内联元素不能包含块元素,块元素可以包含所有类型。 &LT;李&GT;你所提到的,不是内联元素,它是一个块元素&lt; p&gt; ,所以两者都可以包含彼此

答案 5 :(得分:0)

  

块级元素不能来自内联级元素

Eric Meyer的书“ CSS权威指南”第9页

答案 6 :(得分:-4)

<li> & <p> both are inline elements. so you can use <p> inside <li>