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

Vim*_*deo 3 html

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

Alo*_*hci 5

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

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

例如,在FireFox 3.x中,使用此标记

<!DOCTYPE html>
<i>
   foo
   <div>bar</div>
   baz
</i>
Run Code Online (Sandbox Code Playgroud)

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

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

<!DOCTYPE html>
<var>
   foo
   <div>bar</div>
   baz
</var>
Run Code Online (Sandbox Code Playgroud)

只会以斜体显示foo.

JSFiddle为此

其他浏览器的行为不一样.这是您应该坚持使用有效标记的一个原因.

  • @user1334007 - 实际上,如果包装元素是 `&lt;a&gt;` 元素的父元素的子元素,并且 `&lt;a&gt;` 元素是其祖先的有效后代,则提供包装元素将是有效的。但另一方面,HTML5 中没有块元素或内联元素之类的东西。`&lt;a&gt;` 是*短语元素*。块和内联是 HTML 4 的概念,并且仍然是 CSS 中的概念,当内联元素包含块元素时,CSS 有自己的规则,但不关心 HTML 内容模型的有效性。 (2认同)