css – shadow DOM是否替换:: before和:: after?

前端之家收集整理的这篇文章主要介绍了css – shadow DOM是否替换:: before和:: after?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
CSS Scoping

The descendants of a 07001 must not generate Boxes in the
formatting tree. Instead,the contents of the 07002
generate Boxes as if they were the contents of the element instead.

CSS Pseudo-Elements描述:: before和:: after as

these pseudo-elements generate Boxes as if they were immediate
children of their originating element

那么哪些是真的?

>首先,shadow主机的所有内容(不包括:: before和:: after)由活动阴影树的内容替换。然后,:: before和:: after生成阴影主机中的框。
>首先,:: before和:: after在shadow主机中生成框。然后,影子主机的所有内容(包括:: before和:: after)由活动阴影树的内容替换。

Firefox和Chrome做的前者,但规范描述的行为?

var root = document.querySelector('div').createShadowRoot();
root.innerHTML = "<p>Shadow content</p>";
div::before,div::after {
  content: 'Generated content';
}
<div>Content</div>

解决方法

CSS Scoping规范作者。

答案其实是,官方… undefined!

我在编写Scoping规范时没有考虑这种交互。我会给列表发送一封电子邮件,我们会找出来。几乎可以肯定,我们将解决在当前做的任何浏览器(这似乎是letting ::前/后工作“如预期”,即使在影子主机)。

编辑:工作组的反应是一致的 – 当前的实现行为(::之前/之后做阴影主机的工作)是怎么回事。我会很快编辑它到范围规范。

猜你在找的CSS相关文章