Re: [csswg-drafts] [css-shadow-parts] consider moving part-mapping to style rules

I'm unsure of implementation costs, but after thinking about it a bit, defining parts in CSS is definitely more powerful, especially with pseudo-classes and elements because you can abstract away the pseudo-class from the outside.

Some examples I thought of:

Defining parts of a checkerboard:

```css
.cell:nth-child(odd) {
  @outer-name(odd-cell);
}
.cell:nth-child(even) {
  @outer-name(even-cell);
}
```

Disabling arbitrary elements and inputs:

```css
:disabled, [disabled] {
  @outer-name(disabled);
}
```

Adding part names for light children and shadow children via ::slotted():

```css
::slotted(.item), .item {
  @outer-name(item);
}
```
(Think of this when combined with display: contents on the host to treat light and shadow children as siblings for flex and grid layouts. It be nice to give a single part name rather than have the outside select the parts and children separately.)


Exposing a pseudo-element like ::before
```css
li::before {
  @outer-name(marker);
  content: counter(li);
}
```

I'm sure there's some other cases where a component wants hover, active, etc states abstracted or styled the same as some other parts.


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

Received on Thursday, 2 August 2018 17:34:14 UTC