CSS Scoping говорит
Потомки теневого хоста генерируйте поля, как если бы они были содержимым элемента.
Псевдоэлементы CSS описывает ::before
и ::after
как
эти псевдоэлементы генерируют ящики, как если бы они были немедленными дети их происхождения
Итак, кто из них верен?
- Во-первых, все содержимое теневого хоста (не включая
::before
и::after
) заменяется содержимым активного дерева теней. И затем,::before
и::after
генерируют поля в теневом хосте. - Сначала
::before
и::after
генерируют поля в теневом хосте. И затем все содержимое теневого хоста (включая::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>