w3ctag / design-reviews

W3C specs and API reviews
Creative Commons Zero v1.0 Universal
322 stars 55 forks source link

Design and specification review of CSS Container Queries Style Features #787

Closed mirisuzanne closed 1 year ago

mirisuzanne commented 1 year ago

Wotcher TAG!

I'm requesting a TAG review of Style Features for Container Queries.

TAG guidelines state that custom attributes should not be used for styling, and authors should rely on CSS custom properties instead. However, custom properties are currently limited to carrying a single value, making it hard to achieve any more complex impact beyond simple value substitution. Meanwhile, container queries allow authors to write conditional CSS based on an ancestor 'container' element. Browsers are already broadly shipping 'dimensional' container queries. By adding the ability to query 'style features' as well, we can use the container query syntax to help solve this long-standing issue for authors.

Further details:

You should also know that...

There is already a partial (custom properties only) prototype implementation in Chromium v107+ behind the 'experimental web platform features' flag.

We'd prefer the TAG provide feedback as (please delete all but the desired option):

🐛 open issues in our GitHub repo for each point of feedback

( also ok to 💬 leave review feedback as a comment in this issue and @-notify mirisuzanne if that's simpler)

LeaVerou commented 1 year ago

Making this part of container queries circumvents a lot of the issues we faced when we were trying to define a separate conditional rule. Also restricting it to custom properties and equality at first does simplify a host of other hard issues, while addressing a large percentage of use cases. Please make sure that the syntax allows extension in the future (both in terms of querying other properties, as well as querying ranges of values).

I don’t personally see any architectural issues with this, and would be happy to see it move forwards. I do see some smaller design issues and have some questions, for which I will file separate issues in the CSS WG repo.

LeaVerou commented 1 year ago

We discussed this in a breakout today and we decided my comment above does, in fact, reflect our consensus, so we're gonna go ahead and close this. Thank you for flying TAG! ✈️