This is a feature that is greatly desired by developers, and as such runs increased risk that whatever gets shipped first gets heavily used and then cannot be improved due to web compat. I think it’s premature to ship without signals from other engines and without a TAG review. We should have more time with this feature behind a flag.
Another signal for implementing behind a feature flag for now: https://blog.kizu.dev/intent-to-experiment-for-longer/ On Tuesday, February 25, 2025 at 9:24:18 AM UTC-8 moo...@google.com wrote: > Contact emailsmoo...@google.com, and...@chromium.org > > Explainer > https://docs.google.com/document/d/1mbHBUR40jUBay7QZxgbjX7qixs5UZXkdL9tVwGvbmt0/edit?usp=sharing > > Specificationhttps://drafts.csswg.org/css-values-5/#if-notation > > Summary > > The CSS if() function provides a concise way to express conditional > values. It accepts a series of condition-value pairs, delimited by > semicolons. The function evaluates each condition sequentially and returns > the value associated with the first true condition. If none of the > conditions evaluate to true, the function returns an empty token stream. > This allows web authors to express complex conditional logic in a simple > and concise way. Example: <style> div { color: var(--color); > background-color: if(style(--color: white): black; else: white); } .dark { > --color: black; } .light { --color: white; } </style> <div > class="dark">dark</div> <div class="light">light</div> > > > Blink componentBlink>CSS > <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22> > > Search tagscss <https://chromestatus.com/features#tags:css>, css-values > <https://chromestatus.com/features#tags:css-values>, if > <https://chromestatus.com/features#tags:if>, inline-conditionals > <https://chromestatus.com/features#tags:inline-conditionals> > > TAG reviewhttps://github.com/w3ctag/design-reviews/issues/1045 > > TAG review statusPending > > Risks > > > Interoperability and Compatibility > > None > > > *Gecko*: No signal ( > https://github.com/mozilla/standards-positions/issues/1167) > > *WebKit*: No signal ( > https://github.com/WebKit/standards-positions/issues/453) > > *Web developers*: Positive > > *Other signals*: > https://geoffgraham.me/unconditional-love-for-conditional-css/ > https://lea.verou.me/blog/2024/css-conditionals/ > https://geoffgraham.me/conditionals-on-custom-properties/ > https://www.bram.us/2025/02/18/css-at-function-and-css-if/ > https://x.com/LeaVerou/status/1801192208025940200 > > WebView application risks > > Does this intent deprecate or change behavior of existing APIs, such that > it has potentially high risk for Android WebView-based applications? > > None > > > Debuggability > > Ties into CSS Value Debugger work: > https://docs.google.com/document/d/1zyKdPREtKT8OU4WtlHV_Wxet3SvyUtAXrTdFLPmYmdU > > > Will this feature be supported on all six Blink platforms (Windows, Mac, > Linux, ChromeOS, Android, and Android WebView)?Yes > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> > ?Yes > > https://wpt.fyi/results/css/css-values?label=master&q=if- > https://wpt.fyi/results/css/css-values/if-cycle.tentative.html -the > cycles behaviour has been resolved in > https://github.com/w3c/csswg-drafts/issues/11500, but the spec does not > address the resolution yet. > > > Flag name on about://flagsCSSInlineIfForStyleQueries, > CSSInlineIfForMediaQueries, CSSInlineIfForSupportsQueries > > Finch feature nameCSSInlineIfForStyleQueries, CSSInlineIfForMediaQueries, > CSSInlineIfForSupportsQueries > > Requires code in //chrome?False > > Tracking bughttps://issues.chromium.org/issues/346977961 > > Estimated milestones > Shipping on desktop 136 > Shipping on Android 136 > Shipping on WebView 136 > > Anticipated spec changes > > Open questions about a feature may be a source of future web compat or > interop issues. Please list open issues (e.g. links to known github issues > in the project for the feature specification) whose resolution may > introduce web compat/interop risk (e.g., changing to naming or structure of > the API in a non-backward-compatible way). > None > > Link to entry on the Chrome Platform Status > https://chromestatus.com/feature/6313805904347136?gate=5199452060778496 > > Links to previous Intent discussionsIntent to Prototype: > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAO7W_D9CCHOcXKNkbaVDFzUOWO7o9tcH1t7rS0xUaeKupYDTQ%40mail.gmail.com > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/45a12b35-349b-473b-8d8c-e44d45faaf8bn%40chromium.org.