- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Fri, 03 May 2024 23:05:54 +0000
- To: public-css-archive@w3.org
Whoops, sorry for missing this! For the general behavior, @lilles got it exactly right - the point of featurless-ness is to make it so that authors don't have to think about the host elements most of the time and will still get the likely intended behavior, so `:not(.foo)` should *not* match a host element, for the same reason `*` doesn't. (In other words, Lea's request that `X, :not(X)` be equivalent to `*` is still preserved, since in *both* cases the host element isn't matched so long as X isn't `:host`.) For the more complex cases, I hadn't actually thought thru those cases when writing up the feature, but I think @Loirooriol's breakdown works well. For the more complex :not() cases, I think we might want to add the following: * Compound selectors are allowed to match the host only if all the contained simple selectors are allowed to match the host. * Complex selectors are allowed to match the host only if the subject compound selector is allowed to match the host. (So in `:host > .foo`, the first compound selector is allowed to match the host (and does), but the complex selector as a whole isn't allowed to match the host.) This would make both of the complex :not() cases "not allowed to match the host". -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10179#issuecomment-2093869789 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 3 May 2024 23:05:55 UTC