- From: robglidden <notifications@github.com>
- Date: Wed, 27 Mar 2024 16:49:13 -0700
- To: WICG/webcomponents <webcomponents@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <WICG/webcomponents/issues/1052/2024164650@github.com>
Additional user stories and corresponding web platform [tests](https://github.com/htmlcomponents/shadow-layers/tree/main/user-story-tests) for the [collection of user stories #1052](https://github.com/WICG/webcomponents/issues/1052) for ["open-stylable" Shadow Roots #909](https://github.com/WICG/webcomponents/issues/909). <details> <summary>25 Inherit @imported CSS file</summary> As a shadow tree or web component user, I want to inherit into a shadow tree a CSS file that I have already @imported into the page outside the shadow tree, so that I don't have to @import the same CSS file twice (once into the page, and again into the shadow tree). In other words, I don't want to have to do this: resets.css file: ```css button { border: thick dashed red; } ``` Double @import I don't want to do: ```html <body> @import assets/resets.css; <button>Button outside a shadow tree</button> <button-group> <template shadowrootmode="open"> @import assets/resets.css; <button> Button inside a shadow tree (thick dashed red) (double imported resets.css) </button> </template> </button-group> </body> ``` See also [Allow authors to apply new css features (like cascade layers) while linking stylesheets #7540](https://github.com/whatwg/html/issues/7540) and [Provide an attribute for assigning a `<link>` to a cascade layer #5853](https://github.com/w3c/csswg-drafts/issues/5853). Example: ```html <body> @import assets/resets.css layer(resets); <button>Button outside a shadow tree</button> <button-group> <template shadowrootmode="open"> <style> @layer inherit.resets.as.outerresets, outerresets; </style> <button> Button inside a shadow tree (thick dashed red) (from inherited resets.css file) </button> </template> </button-group> </body> ``` </details> <details> <summary>26 Page styles only affecting shadow tree</summary> <p> As a shadow tree or web component user, I want to provide some page styles outside a shadow tree that won't affect the page at all but can be inherited into the shadow tree, so that I can write page styles that only affect shadow trees. </p> - Note that [when evaluated in the context of a shadow tree](https://drafts.csswg.org/css-scoping/#host-selector), `:host( <compound-selector> )` matches the shadow tree’s shadow host if the shadow host, in its normal context, matches the selector argument. In any other context, it matches nothing. - `:host` behaves similarly in any other context. ```html <style> @layer button-group-styles { :host(button-group) button { border: thick dashed red; } } </style> <button>Button outside a shadow tree (not thick dashed red)</button> <button-group> <template shadowrootmode="open"> <style> @layer inherit.button-group-styles.as.page-defined-styles, page-defined-styles; </style> <button> Button inside a shadow tree (thick dashed red) (from page layer 'button-group-styles') </button> </template> </button-group> ``` </details> -- Reply to this email directly or view it on GitHub: https://github.com/WICG/webcomponents/issues/1052#issuecomment-2024164650 You are receiving this because you are subscribed to this thread. Message ID: <WICG/webcomponents/issues/1052/2024164650@github.com>
Received on Wednesday, 27 March 2024 23:49:17 UTC