- From: Guillaume via GitHub <sysbot+gh@w3.org>
- Date: Thu, 16 Feb 2023 14:09:45 +0000
- To: public-css-archive@w3.org
Following latest spec edits and after carefully re-reading all related issues, I have a better understanding of how a nest-containing selector is desugared. Basically, `&` can be considered as being replaced by `:is()` containing the selector of the parent rule. First, I think an example showing that there is no difference between `div { &:hover {} }` and `div { :hover& {} }` would be usefull (whereas only `div:hover` is valid). Second, it is still not clear to me if this resolution with `:is()` implies that for: ```css :root { ::before&, .valid {} } /* `::before:is(:root)` is invalid */ span { ::before + &, .valid {} } /* `::before + :is(span)` is invalid */ ``` 1. nested rules are valid but `::before + &` and `::before + &` do not match any element 2. nested rules are invalid I intentionally used `::before` in the selector of the nested style rules, because I do not know if desugaring with `:is()` is slightly more complex than I defined it in the introduction of this comment, which would mean the answer is 1. But more importantly and put more explicitly, I would like to know if desugaring `&` with `:is()` implies forgiving parsing for `<relative-selector-list>`. -- GitHub Notification of comment by cdoublev Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7503#issuecomment-1433146942 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 16 February 2023 14:09:47 UTC