将块级元素(例如p
直接嵌套在诸如b
.
但是,使用诸如display: inline-block
or position: absolute
is 这样的 css 在概念上是合理的,可以在内联上下文中包含块级内容。
浏览器在很大程度上接受内联元素中的这种块级元素,但在某些情况下,无效的构造会导致真正的问题:
<p><span><p></p></span></p>
上面的例子不会被解析为三个嵌套元素;无论CSS如何,最内层<p>
都会隐式关闭外层。<p>
你可以看到一个 jsbin 演示。
是否有某种方法可以使用中间元素将块级元素有效地放置在内联元素中?
如果这不可能<p>
,对于大多数情况(最好也适用于棘手的标签)是否有无效但功能性的解决方法?
需要明确的是,我正在寻找一种不需要对文档结构进行侵入性更改的通用解决方案(即“只span
在所有地方使用,用于所有内容”不是一个有吸引力的解决方案)。我想嵌入具有潜在块级内容的未知(动态生成)文档片段 - 因此修复片段以排除块级元素是不可行的。
相关:(主要解决直接嵌套的有效性)