揭开 CSS :after 属性的约束
CSS :after 伪元素在文档中的元素内容之后添加内容树。然而,它的适用性却引发了疑问。
元素限制
CSS 规范规定 :after 可以应用于元素树内容之前或之后的内容,看似无限制。然而,在实践中,某些元素,例如图像 ()、输入 () 和表格 (
),表现出不同的行为。
理解替换元素
理解这种行为的关键在于替换元素的概念。替换元素是那些外观和尺寸由外部资源定义的元素,包括图像、插件和表单元素。
:after 和替换元素
至关重要,CSS 规范明确规定 :before 和 :after 仅适用于非替换元素。 因此,替换元素就像一样和不能有 :after 或 :before 属性。
DOM 结构注意事项
当对非替换元素使用 :before 和 :after 时,DOM 结构看起来像this:
span 的内容
对于图像等替换元素,此结构不可行,因此行为不一致。
以上是为什么 CSS :after 伪元素不适用于所有 HTML 元素?的详细内容。更多信息请关注PHP中文网其他相关文章!