::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:
::marker
pseudo-elements are only created when display
has the list-item
keyword.::marker
always exist but are only originated by elements, ::before
, and ::after
. They can't be originated by other ::marker
.::marker
always exist but are only originated by elements. Like ::before
and ::after
, they can't be originated by other pseudo-elements. This would be a breaking change for Firefox and Chrome.::marker
always 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.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3