Re: [csswg-drafts] [css-nesting-1] Invalid nested selectors (#7503)

Note that "desugaring" is *purely informative*. Nothing shown in the examples actually occurs in impls; we're just showing equivalent selectors so the behavior can be understood in terms of existing features.

> which seems to be by "moving" & to the end of the selector:

These examples are all showing cases where the compound selector contains a type selector. When writing a selector without an &, as we're showing here, type selectors are *required* to go first, so the reordering is required. `:is(type1)type2` is just an invalid selector; it wouldn't make sense for us to write that as a desugared version.

More generally, rearranging components of a compound selector is a no-op. `.foo.bar` and `.bar.foo` are exactly equivalent.

On the other hand, `&::before` and `::before&` are absolutely not equivalent; you're moving the `&` to a different compound selector entirely.

-- 
GitHub Notification of comment by tabatkins
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7503#issuecomment-1444614693 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 24 February 2023 22:51:53 UTC