简介
它通常认为将块元素放置在内联元素中是不正确的。然而,当相反的情况发生时会发生什么呢?具体来说,如果一个包含段落的div被CSS转换为内联,它仍然遵守HTML验证规则吗?
CSS规范
根据CSS 2.1规范,包含块级框的内联框将被分成两个匿名块框,一个在块级框之前,一个在块级框之后。这些盒子成为块级盒子的兄弟。即使任一匿名块框为空,此行为也适用。
HTML 验证
HTML 验证状态取决于是在 CSS 应用之前还是之后进行评估。在应用 CSS 之前,HTML 是有效的。然而,CSS 转换后,根据 HTML 规范,文档可能不再有效。
实现和浏览器支持
CSS 规范提供了浏览器应如何使用的指南处理这种情况。但是,浏览器的实现可能会有所不同。一些浏览器通过在嵌套块周围创建“匿名行框”来在包含块的内联元素上实现边框。此行为在 CSS1 或 CSS2 中没有明确定义,并且在所有浏览器中可能不一致。
HTML5 注意事项
在 HTML5 中,允许放置块级内联元素内的元素,例如链接。这在创建大块可点击 HTML 内容时非常有用。
结论
虽然 CSS 转换后内联元素中包含的块元素的行为在 CSS 中指定规范,该规则的解释和实现可能会因浏览器而异。对 HTML 验证的影响取决于验证何时执行、CSS 应用之前还是之后。
以上是当包含其他块元素时,通过 CSS 将块元素转换为内联元素是否有效?的详细内容。更多信息请关注PHP中文网其他相关文章!