- From: Bramus via GitHub <sysbot+gh@w3.org>
- Date: Tue, 25 Jun 2024 07:46:22 +0000
- To: public-css-archive@w3.org
bramus has just created a new issue for https://github.com/w3c/csswg-drafts: == [selectors] Behavior of :root inside Shadow DOM == # The short version Using `:root` in Shadow DOM currently does not match anything. Sparked by https://x.com/Th3S4mur41/status/1805198579910238380 I think it would make sense to have that match the Shadow Root. One wouldn’t be able to use it to style the shadow with it, but it would enable use-cases such as `:has(:popover-open)` because that selector would then also match `:root:has(:popover-open)` – similar to how it behaves in Light DOM. It would fix situations [such as this one](https://codepen.io/th3s4mur41/pen/MWdVVpG). # The long version In https://x.com/Th3S4mur41/status/1805198579910238380 an author wondered why the following worked in Light DOM but not in Shadow DOM as seen in [this demo](https://codepen.io/th3s4mur41/pen/MWdVVpG): ```css /* Change the popover invoker style when open */ :has([popover]:popover-open) [popovertarget="mypopover"] { background: yellow; } ``` Note that in the Shadow DOM variant the popover itself is also part of the Shadow DOM: ```html <div id="shadow" class="container"> ↳ #shadow-root <button popovertarget="shadowpopover">button in shadow DOM</button> <div id="shadowpopover" popover="">popover in shadow DOM</div> </div> ``` Reducing the code it’s the `:has(:popover-open)` that is not working as the author expected. This because with an open popover, `:has(:popover-open)` can only match the `#shadow-root`, which itself is not selectable. This [gave me the idea](https://x.com/bramus/status/1805323470105891150) to have `:root` match the `#shadow-root`. One wouldn’t be able to style anything with it, but it would make the use-case above work because `:has(:popover-open)` – which is `*:has(:popover-open)` – would then be able to match the shadow-root. /cc @keithamus and @lukewarlow who participated in the discussion on X. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10492 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 25 June 2024 07:46:23 UTC