有没有块级父级的内联元素是否有效?

时间:2018-04-12 19:06:44

标签: html css

我想知道HTML文档中的内联元素在技术上是否需要块级父元素。例如,以下HTML ...

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

这是一个有效的HTML文档吗?或者<b></b>标记是否必须封装在块级元素中才能被视为有效,例如<p><div>? (希望HTML4和HTML5的答案是一样的吗?)

很多人都会问一个类似的问题:我可以在内联元素中放置块级元素吗?我想知道相反的事情:内联元素除了块之外还可以去任何地方 - HTML文档中的level元素?

我在RFC中看到了这一点:

  

可能出现在BODY中的某些HTML元素被认为是&#34;块级&#34;而其他人则是&#34; inline&#34; (也称为&#34;文本级别&#34;)....

     

通常,块级元素可以包含内联元素和其他块级元素。通常,内联元素可能只包含数据和其他内联元素。 https://www.w3.org/TR/html401/struct/global.html#h-7.5.3

但是,它并没有完全出来说出来。

1 个答案:

答案 0 :(得分:0)

如果你愿意的话,你可以在一个块级别内,任何地方,甚至在body之外的任何地方放置一个内联元素!它们只渲染相同,只是没有任何填充/边距,你可以期待块级元素。

在内联元素的MDN reference中,它们总是 - 在两个示例中给出 - 显示在块级元素内部,但这并不意味着它们不能独立存在,块元素之外。它只是意味着它通常没有完成,因为它是语义错误的 - 即,你有块级元素包含内联元素,而不是单独的内联元素。

虽然从技术上讲,您提供的示例不是块元素外部的内联元素的示例,因为body是块元素。