-
Notifications
You must be signed in to change notification settings - Fork 757
Description
::before and ::after pseudo-elements always exist in the element tree, but most times they don't generate boxes in the box tree because content computes to none by default.
Is it similar for ::marker pseudo-elements? Do they always exist, but they only generate boxes if the display of the originating element has the list-item keyword? Or do ::marker pseudo-elements only exist if the originating element has the list-item keyword?
CSS Display handwaves the difference between the ::marker pseudo-element and the marker box generated by it, so it's not clear. CSS Pseudo isn't clear either.
The difference matters because Firefox and Chrome allow ::marker pseudo-elements to be originated by some tree-abiding pseudo-elements. So if ::marker always exist, this could potentially mean that the element tree has an infinite depth, which doesn't sound much right.
I see various possibilities:
::markerpseudo-elements are only created whendisplayhas thelist-itemkeyword.::markeralways exist but are only originated by elements,::before, and::after. They can't be originated by other::marker.::markeralways exist but are only originated by elements. Like::beforeand::after, they can't be originated by other pseudo-elements. This would be a breaking change for Firefox and Chrome.::markeralways exist and can be originated by elements or any tree-abiding pseudo-elements. The element tree has an infinite depth, but in practice this isn't much problematic because the box tree is finite.