2011-06-22 175 views
3

一個內聯元素可以包含一個塊元素,例如:一個列表是否可以包含段落?內聯元素是否可以包含塊元素?

+0

[內聯元素中的塊級元素]的可能重複(http:// stackoverflow .com/questions/1714121/block-level-elements-inside-inline-elements) – JohnP

+1

沒有。 要回答你的第二個問題,列表不是內聯元素。一個列表可以包含P或DIV標籤或其他。 – JohnP

回答

5

撇開事實,李和P都是塊級...

這是從來沒有有效做到這一點,但在行爲方面,有時你可以嵌套一個內嵌一級內的塊級元素,但它取決於瀏覽器解析器。

例如,在Firefox 3.x,與此標記

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

將顯示FOO,bar和baz所有斜體。

但這標記,具有內聯元件<var>(其中也有斜體作爲其默認渲染)取代內嵌元件<i>

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

只會以斜體顯示FOO。

JSFiddle for this

其他瀏覽器不具有相同的行爲。這是你堅持使用有效標記的原因之一。

0

在內聯塊中使用塊元素是不正確的標記。如果瀏覽器和Doctype是寬鬆的,它可能仍然呈現,但它是無效的。

但是,您可以使用CSS,如討論here

-3
<li> & <p> both are inline elements. so you can use <p> inside <li> 
+1

'p'元素是塊元素,不是內聯的。但是,它們只能包含內聯元素。 –

+2

LI不是內聯的。 P標籤也不是。 LI允許其中的塊級內容:http://htmlhelp.com/reference/html40/block.html。請更新您的答案。 – JohnP

+1

對不起,我感到困惑。請原諒我..感謝分類。 –

0

如果要使塊元素像行內元素一樣工作,請將display屬性設置爲inline-block。如果您需要支持IE 7或6,對於IE樣式表中的相同元素,請添加以下兩條規則:zoom:1; display:inline

0

內聯元素不能包含塊元素,塊元素可以包含所有類型。您提到的<li>不是內嵌元素,它是塊元素,因此它們都可以包含其他元素

相關問題