Re: [csswg-drafts] [css-pseudo] Add a ::contents pseudo-element (#2406)

I agree with the "no custom inheritance or default `all`" part. It would be very confusing if this pseudo-element had special/unexpected behavior (also `all` can be [bad for performance](https://bugs.chromium.org/p/chromium/issues/detail?id=1441129), since it is a shorthand for *every single property*).

I'm not sure if a new `display` value is the right move though. `display` is already ridiculously overloaded. What would even be the purpose of the "initial non-generating value" (if set in author-land)?

Another thought: If we're adding a new value to an existing property, should we do it for [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content), since that's what generates the `::before`/`::after` pseudo-elements? This would make it consistent and probably easier to learn.

```css
#a::contents { content: bikeshed; color: blue }
#b::contents { content: bikeshed; display: block }
```

Maybe this is a not good idea, since `content: "some real value"` would override/conflict with the element's own children. At the same time, it would be super useful for [empty divs](https://a.singlediv.com/).

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


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 11 June 2024 13:47:10 UTC