簡體   English   中英

有沒有塊級父級的內聯元素是否有效?

[英]Is it valid to have an inline element without a block-level parent?

我想知道,HTML文檔中的內聯元素在技術上是否需要塊級父元素。 例如,以下HTML ...

<html>
    <head>
    </head>
    <body>
        <b>Some Text</b>
    </body>
</html>

這是有效的HTML文檔嗎? 還是必須將<b></b>標記封裝在塊級元素中以被視為有效,例如<p><div> (希望答案對於HTML4和HTML5是相同的嗎?)

很多人問一個類似的問題: 我可以在一個內聯元素中放置一個塊級元素嗎? 我想知道相反的內容: 內聯元素除了HTML文檔中的塊級元素之外,還可以放在其他地方嗎?

我在RFC中看到了這一點:

某些可能出現在BODY中的HTML元素被稱為“塊級”,而另一些則是“內聯”(也稱為“文本級”)。

通常,塊級元素可以包含內聯元素和其他塊級元素。 通常,內聯元素可以僅包含數據和其他內聯元素。 https://www.w3.org/TR/html401/struct/global.html#h-7.5.3

但是,它並不能完全說出來。

如果需要,您可以將內聯元素放置在塊級內部,外部,任何位置甚至body外部的任何位置! 它們將呈現相同的效果,只是沒有您期望塊級元素的任何填充/邊距。

MDN內聯元素參考中,它們始終(在兩個示例中給出)顯示在塊級元素內部,但這並不意味着它們不能獨立於塊元素之外。 這只是意味着通常不會完成,因為它在語義上是錯誤的-即,您具有包含內聯元素的塊級元素,而不是單獨存在的內聯元素。

盡管從技術上講,您提供的示例不是塊元素外部的內聯元素的示例,因為body是塊元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM