Заменяет ли теневой DOM :: before и :: after?
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>