Skip to content

[css-contain-4] Define a range syntax for style container queries #8376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
mirisuzanne opened this issue Jan 30, 2023 · 35 comments
Open

[css-contain-4] Define a range syntax for style container queries #8376

mirisuzanne opened this issue Jan 30, 2023 · 35 comments

Comments

@mirisuzanne
Copy link
Contributor

The css-contain-3 spec provides a 'style container feature', allowing authors to query the computed value of a given property on the container. However, that query is currently limited to the declaration syntax, which provides a simple equality comparison:

@container style(--color-mode: dark) { … }

As discussed in #7068, there are also use-cases for range comparisons on container properties:

@container style(padding > 1em) { ... }
@container style(--primary-color-lightness > 80) { ... }

For custom properties, this might require a defined syntax using @property? Or would we want a way to define the value type on the query itself? Thoughts?

@LeaVerou
Copy link
Member

For syntax, we can just adopt the MQ operators.

I think it makes sense to require these properties to be registered as <integer>, <number>, <length>, <percentage>, or <length-percentage> (am I forgetting anything?), we can always expand later.

Or, crazy idea here, given this is fairly limited and these types can be detected syntactically, what if we don't require registration at all? Would that be possible? Is there any ambiguity I'm missing?

@SebastianZ
Copy link
Contributor

I think it makes sense to require these properties to be registered as <integer>, <number>, <length>, <percentage>, or <length-percentage> (am I forgetting anything?)

<angle>, <frequency>, <time> and their <*-percentage> counter-parts, <ratio> and maybe some more.

For syntax, we can just adopt the MQ operators.

I assume that includes the full range syntax, so one could write

@container style(1em < padding < 3em) { … }

Correct?

Sebastian

@tabatkins
Copy link
Member

There is indeed no ambiguity when limited to comparisons of this type - there's no keywords or similar that can be interpreted differently on context, just plain numbers and dimensions.

And math functions, which is the only thing that makes me slightly concerned, just due to the potential complexity. But I suspect it's fine.

@mirisuzanne
Copy link
Contributor Author

Another complexity: is it allowed to mention multiple properties? style(margin < 3em < padding) { … }

@LeaVerou
Copy link
Member

Another complexity: is it allowed to mention multiple properties? style(margin < 3em < padding) { … }

I'd suggest not, at first.

@SebastianZ
Copy link
Contributor

Another complexity: is it allowed to mention multiple properties? style(margin < 3em < padding) { … }

That syntax doesn't make sense to me. I'd say we should stick to the syntax defined for media queries. So that could be expressed as style(margin < 3em) and style(padding > 3em). This also makes it more readable, in my opinion.

Sebastian

@tabatkins
Copy link
Member

Yeah, agreed that we should stick to the MQ syntax for now - either a property compared to a literal, or a property sandwiched between two literal comparisons.

@mirisuzanne
Copy link
Contributor Author

I marked this for contain-4, but not sure if it needs to be deferred from l3? It doesn't seem like a big lift on the spec side, but may be a larger consideration for implementors?

@una
Copy link
Contributor

una commented Feb 2, 2023

I just mentioned this in the older thread, but this would be a very useful feature. And +1 to the MQ range syntax as a mechanism to query values by.

@una
Copy link
Contributor

una commented Feb 7, 2023

We would need to limit (and define the limitations) of the syntax options for range queries? I.e.

Valid:

  • <length>
  • <number>
  • <percentage>
  • <length-percentage>
  • <integer>
  • <angle>
  • <time>
  • <resolution>

Invalid:

  • <image>
  • <url>
  • <custom-ident>
  • <transform-function>
  • <transform-list>
  • <color>

@tabatkins
Copy link
Member

Yes, it would be all the numeric types. Not colors, tho.

@mirisuzanne
Copy link
Contributor Author

@lilles raised a question this morning about how to resolve <length-percentage> on custom properties - where it's not clear how percentages compare to numbers.

@tabatkins
Copy link
Member

Percents aren't comparable to lengths in contexts where they don't resolve against a length, so they'd just be false, I suppose? That is, --foo > 50% can be true if --foo: 75%, but if --foo: 75px it'll always be false. This should be the same behavior as comparing a <length> custom property to an angle; we can't tell at parse time whether the comparison is syntactically valid, so all we can do is say it's false when we actually make the comparison.

(Do we want to try and do syntax validation on known properties? Or should we just consider them the same way, where doing a nonsensical comparison like padding-left > 50deg is false?)

@mirisuzanne
Copy link
Contributor Author

I think it would be ok to do without parse-time syntax validation - but I would probably expect unknown rather than false in both cases.

@tabatkins
Copy link
Member

We don't use unknown for "this doesn't make sense", we use it for "this conceivably has a true/false answer, but we happen to not know what it is; a future browser might, tho". So nonsense comparisons are simply false, not unknown.

And in a custom property, %s do not resolve against anything, so they're incomparable with any other types, just as much as lengths and angles are incomparable.

@andruud
Copy link
Member

andruud commented Feb 7, 2023

Are we going with the idea that registration isn't required, but the custom property side is interpreted according to the type of the literal side?

@tabatkins
Copy link
Member

Right; registration doesn't add anything to the equation in this case. If we see --foo > 2em, we know that we're gonna be comparing the property value to a length, so we can interpret it that way immediately.

I mean, maybe registration lets you fast-path a false for nonsensical comparisons, but that's it.

Tho hm, do we ever want to allow something like --foo > --bar? In that case, registration would be useful.

@andruud
Copy link
Member

andruud commented Feb 7, 2023

Great, just wanted to clarify that so we know what to implement.

Tho hm, do we ever want to allow something like --foo > --bar? In that case, registration would be useful.

It could work without as well? We just try to parse a numeric thing on both sides, and check if they're compatible.

@tabatkins
Copy link
Member

We just try to parse a numeric thing on both sides, and check if they're compatible.

Yeah true.

@mirisuzanne
Copy link
Contributor Author

Does this logic seem like something we could add to css-contain-3, or would need to be deferred to L4?

@tabatkins
Copy link
Member

This also seems to have implications for the non-range syntax, yeah? Like, we'd want style(--x: 1.0) to match an --x: 1;, because the two are numerically equal. But style(--x: 1.0 foo) wouldn't match --x: 1 foo;, because the value isn't a single numerical value, so we'll instead use serialization matching.

(I think this is fine, fwiw.)

@andruud
Copy link
Member

andruud commented Mar 6, 2023

Should we consider making : always serialization-matching, and = only "recognized-type"-matching?

EDIT: It seems risky to always interpret things as <number> (when possible), with no way for the author to actually opt out of this behavior. It would mean e.g. style(--x:0100) would match --x:10e1, which might not be what the author wants at all.

Having multiple behaviors for the same operator also feels shaky. It would be better if : always did text matching, and = never did text matching.

@mirisuzanne
Copy link
Contributor Author

I like the consistency, and since authors have both options, they can opt into either behavior.

@andruud
Copy link
Member

andruud commented Mar 25, 2025

Right; registration doesn't add anything to the equation in this case.

...

We just try to parse a numeric thing on both sides, and check if they're compatible.

...

consider making : always serialization-matching, and = only "recognized-type"-matching?


This has marinated for ~two years: can we make progress here now?

Proposal:

  • We adopt MQ's syntax, including the sandwich form (e.g. a < b < c).
  • Every part can be a literal, or a reference to a custom property.
  • = matches by value (a number 1.0 is equal to a number 1), whereas : matches by serialization (a value 1.0 is not equal to a value 1).

For e.g. style(A > B):

  • If A/B is a custom property reference, substitute with the value of the custom property.
  • (EDIT:) Substitute arb-subs within A/B.
  • Parse each side according to <number> | <percentage> | <length> | <angle> | <time> | <frequency> | <resolution>.
  • If both sides have the same type, compute each side, do the comparison, and return the result.
  • Otherwise, return false.

Note that this allows style(--foo < --bar), but also style(10px < 10em) which we could disallow if we think it doesn't fit here.

Note also that you can't compare a <length> to a unitless zero in in this approach, e.g. style(--length > 0) does not work: it needs to be style(--length > 0px). We could special-case this if we wanted, by considering zero implicitly compatible with other numeric types for comparison purposes.

@kizu
Copy link
Member

kizu commented Mar 25, 2025

but also style(10px < 10em) which we could disallow if we think it doesn't fit here.

I don't think there is any reason to disallow this, as this can be a quite common use. Probably not on its own (although, you could want to check the value of 1em), but when used with mixed custom properties.

Note also that you can't compare a <length> to a unitless zero in in this approach, e.g. style(--length > 0) does not work: it needs to be style(--length > 0px). We could special-case this if we wanted, by considering zero implicitly compatible with other numeric types for comparison purposes.

Hmm, as an author, I would expect the 0 = 0px to be true, in the same way 1.0 will be equal to 1, as long as we know the type. Like when we have a style query with a registered <length> custom property, a 0 and 0px comparison will be always true: https://codepen.io/kizu/pen/ByaPWQv, so I'd vote for special-casing 0 to be more flexible.

@mirisuzanne
Copy link
Contributor Author

I like the proposal, and would love for it to move forward.

style(10px < 10em)

There would be other versions of this that are less useful (px vs inch?) - but this seems like it would have solid use cases, since em are resolved against the container font size.

I'd vote for special-casing 0 to be more flexible.

Me too

@andruud
Copy link
Member

andruud commented Mar 25, 2025

Hmm, as an author, I would expect the 0 = 0px to be true, in the same way 1.0 will be equal to 1, as long as we know the type. Like when we have a style query with a registered <length> custom property, a 0 and 0px comparison will be always true: https://codepen.io/kizu/pen/ByaPWQv

Sure, OK. Note, however, that this is more like <number> | <length>:

@property --x {
  syntax: "<number> | <length>";
  initial-value: 0px;
  inherits: false;
}
#child {
  color: red;
  @container style(--x: 0) { /* false */
    color: green;
  } 
}

But we can certainly still make 0 = 0px work.

@astearns astearns moved this from FTF agenda items to Wednesday Afternoon in CSSWG April 2025 meeting agenda Mar 29, 2025
@andruud
Copy link
Member

andruud commented Apr 2, 2025

but also style(10px < 10em) which we could disallow if we think it doesn't fit here.

I don't think there is any reason to disallow this, as this can be a quite common use. Probably not on its own (although, you could want to check the value of 1em), but when used with mixed custom properties.

Given #11104, is it dumb that both if((10px < 1em):value) and if(style(10px < 1em):value) are allowed?

@mirisuzanne
Copy link
Contributor Author

Given #11104, is it dumb that both if((10px < 1em):value) and if(style(10px < 1em):value) are allowed?

@andruud Are both resolving relative lengths on the same element? I don't know if it's a good or bad idea, but I'm curious if they mean the same thing?

@andruud
Copy link
Member

andruud commented Apr 2, 2025

Yes, as far as I understand, they mean the same thing.

@mirisuzanne
Copy link
Contributor Author

For discussion sake, the proposal is here: #8376 (comment) - follow-up comments provide some additional details and clarifications.

@tabatkins
Copy link
Member

If we're accepting style(10px < 1em), then we can edit the resolution in #11104 to just use style() for that use-case.

@css-meeting-bot
Copy link
Member

The CSS Working Group just discussed [css-contain-4] Define a range syntax for style container queries, and agreed to the following:

  • RESOLVED: accept 3 part resolution in https://github.com/w3c/csswg-drafts/issues/8376#issuecomment-2751161553
The full IRC log of that discussion <kbabbitt> miriam: a lot of interest in style queries where we're looking at value of custom prop on parent
<kbabbitt> ... a lot of interest in a range syntax there
<kbabbitt> ... e.g. instead of "is the value of my-custom-lenght exactly 1em"
<kbabbitt> .. should be able to say "is it more or less than 1em"
<kbabbitt> ...various use cases
<astearns> proposal: https://github.com//issues/8376#issuecomment-2751161553
<bkardell> s/my-custom-lenght/my-custom-length
<kbabbitt> ... anders proposed we should be able tyo solve this
<kbabbitt> ... my final comment linked to his proposal
<bkardell> s/tyo/to
<kbabbitt> ... adopt MQ range syntax including sandwich form
<kbabbitt> ... each part can be an order reference to a custom prop
<kbabbitt> ... equals syntax would match based on value
<kbabbitt> ... so 1.0 would equal 1
<kbabbitt> .. whereas current syntax would match serialization which is how it works already
<kbabbitt> ... so that would be breaking
<kbabbitt> ... some more detail in there
<kbabbitt> ... as I understand proposal, we wouldn' tneed to register custom props with any particular type
<TabAtkins> q+
<kbabbitt> ... would parse them as any of the numeric types to see if they match
<kbabbitt> ... if not return false
<kbabbitt> ... thoughts?
<astearns> ack TabAtkins
<kbabbitt> TabAtkins: support this
<kbabbitt> ... as described exactly
<kbabbitt> ... one detail of this: this technically means you could just do pure numeric comparison
<kbabbitt> ... don't need to mention custom prop at all
<kbabbitt> ... think that's fine
<kbabbitt> ... going back to yesterday, with if() doing comparisons
<kbabbitt> ... we should amend that to match
<kbabbitt> ... so that condition and if function work the same way
<kbabbitt> astearns: any other places besides style queries where we need this?
<kbabbitt> TabAtkins: only other similar place is MQs
<kbabbitt> ... those are explicit that you need a media feature on one side
<kbabbitt> astearns: OK
<kbabbitt> miriam: other nice to have here would be special casing 0 to allow comparison to length
<astearns> ack dbaron
<kbabbitt> dbaron: I like the initial proposal
<kbabbitt> ... haven't looked into in as much detail as others
<TabAtkins> don't necessarily need a zero special-case. sign() returns -1, 0, 1 i think, right?
<kbabbitt> ... a little nervous about what TabAtkins just said
<kbabbitt> ... there's a bunch of restrictions around style queries that don't apply to ? 10px
<kbabbitt> ... maybe restrictions do apply, was thinking they didn't
<kbabbitt> ... so never mind
<kbabbitt> TabAtkins: there's other restrictions on other conditions, but style queries are resolved on element itself, not container, should be fine
<emilio> q+
<astearns> ack emilio
<kbabbitt> emilio: on the 0 and lengths: do we know if we allow unitless lengths in MQs right now?
<kbabbitt> ... I think we might now
<kbabbitt> s/now/not/
<kbabbitt> ...not that there's a big use case
<kbabbitt> ... would prefer to defer it
<kizu> We allow: https://codepen.io/kizu/pen/ByaPWQv
<kbabbitt> ... because when you're parsing the terms you dont know what's going to be on the right hand side
<kbabbitt> ... need to work backwards
<kbabbitt> ... 0 > 0 comparing lengths or numbers?
<kbabbitt> astearns: in the interest of time, I think we should punt on unitless 0 for now
<kbabbitt> emilio: seems fine esp if we do in MQs
<kbabbitt> astearns: Proposal is to accept 3 part resolution in Anders's comment
<TabAtkins> https://github.com//issues/8376#issuecomment-2751161553
<miriam> https://github.com//issues/8376#issuecomment-2751161553
<kbabbitt> astearns: questions or comments?
<kbabbitt> lea: [asking about colon semantics]
<kbabbitt> astearns: that's describing what syntax has now
<kbabbitt> lea: does property registered or not matter?
<kbabbitt> miriam: registering fixes that
<kbabbitt> miriam: if unregistered, blue != blue
<kbabbitt> TabAtkins: bit about colon isn't meant to change behavior
<TabAtkins> (blue is equal to blue, but it's not equal to #0000ff
<TabAtkins> )
<kbabbitt> lea: do we want to allow these kinds of bare idents in there?
<kbabbitt> TabAtkins: we allow bare idents in MQ conditional form
<kbabbitt> ... so consistency
<kbabbitt> TabAtkins: "width < 600px"
<kbabbitt> astearns: objections?
<kbabbitt> RESOLVED: accept 3 part resolution in https://github.com//issues/8376#issuecomment-2751161553

aarongable pushed a commit to chromium/chromium that referenced this issue May 20, 2025
With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1462710}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue May 20, 2025
With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1462710}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue May 20, 2025
With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1462710}
lando-prod-mozilla bot pushed a commit to mozilla-firefox/firefox that referenced this issue May 23, 2025
…es ranges,

Automatic update from web-platform-tests
Support parsing of container style queries ranges

With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1462710}

--

wpt-commits: fcdebf414acbe5a29b7453c2036567ec94b47b03
wpt-pr: 52666

Differential Revision: https://phabricator.services.mozilla.com/D250946
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue May 24, 2025
…es ranges,

Automatic update from web-platform-tests
Support parsing of container style queries ranges

With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1462710}

--

wpt-commits: fcdebf414acbe5a29b7453c2036567ec94b47b03
wpt-pr: 52666

Differential Revision: https://phabricator.services.mozilla.com/D250946
aarongable pushed a commit to chromium/chromium that referenced this issue May 26, 2025
Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)


Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1465578}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue May 26, 2025
Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1465578}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue May 26, 2025
Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1465578}
i3roly pushed a commit to i3roly/firefox-dynasty that referenced this issue May 26, 2025
…es ranges,

Automatic update from web-platform-tests
Support parsing of container style queries ranges

With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1462710}

--

wpt-commits: fcdebf414acbe5a29b7453c2036567ec94b47b03
wpt-pr: 52666

Differential Revision: https://phabricator.services.mozilla.com/D250946
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue May 28, 2025
…es ranges,

Automatic update from web-platform-tests
Support parsing of container style queries ranges

With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <andruudchromium.org>
Commit-Queue: Munira Tursunova <mooniragoogle.com>
Cr-Commit-Position: refs/heads/main{#1462710}

--

wpt-commits: fcdebf414acbe5a29b7453c2036567ec94b47b03
wpt-pr: 52666

Differential Revision: https://phabricator.services.mozilla.com/D250946

UltraBlame original commit: 37eba09f6ad439be60cf6025ef61bf9f52e7b15b
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue May 28, 2025
…es ranges,

Automatic update from web-platform-tests
Support parsing of container style queries ranges

With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <andruudchromium.org>
Commit-Queue: Munira Tursunova <mooniragoogle.com>
Cr-Commit-Position: refs/heads/main{#1462710}

--

wpt-commits: fcdebf414acbe5a29b7453c2036567ec94b47b03
wpt-pr: 52666

Differential Revision: https://phabricator.services.mozilla.com/D250946

UltraBlame original commit: 37eba09f6ad439be60cf6025ef61bf9f52e7b15b
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue May 28, 2025
…es ranges,

Automatic update from web-platform-tests
Support parsing of container style queries ranges

With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].

Resolved in [1].

[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <andruudchromium.org>
Commit-Queue: Munira Tursunova <mooniragoogle.com>
Cr-Commit-Position: refs/heads/main{#1462710}

--

wpt-commits: fcdebf414acbe5a29b7453c2036567ec94b47b03
wpt-pr: 52666

Differential Revision: https://phabricator.services.mozilla.com/D250946

UltraBlame original commit: 37eba09f6ad439be60cf6025ef61bf9f52e7b15b
lando-prod-mozilla bot pushed a commit to mozilla-firefox/firefox that referenced this issue May 30, 2025
…n if(),

Automatic update from web-platform-tests
Evaluate range container style queries in if()

Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1465578}

--

wpt-commits: ed9846d475761ebb5c0aa451341482447f2c1bb8
wpt-pr: 52784

Differential Revision: https://phabricator.services.mozilla.com/D251826
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue May 30, 2025
…n if(),

Automatic update from web-platform-tests
Evaluate range container style queries in if()

Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <[email protected]>
Commit-Queue: Munira Tursunova <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1465578}

--

wpt-commits: ed9846d475761ebb5c0aa451341482447f2c1bb8
wpt-pr: 52784

Differential Revision: https://phabricator.services.mozilla.com/D251826
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Jun 1, 2025
…n if(),

Automatic update from web-platform-tests
Evaluate range container style queries in if()

Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <andruudchromium.org>
Commit-Queue: Munira Tursunova <mooniragoogle.com>
Cr-Commit-Position: refs/heads/main{#1465578}

--

wpt-commits: ed9846d475761ebb5c0aa451341482447f2c1bb8
wpt-pr: 52784

Differential Revision: https://phabricator.services.mozilla.com/D251826

UltraBlame original commit: d23c90f19fe87a6569668024d3936acebd4078d0
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Jun 1, 2025
…n if(),

Automatic update from web-platform-tests
Evaluate range container style queries in if()

Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <andruudchromium.org>
Commit-Queue: Munira Tursunova <mooniragoogle.com>
Cr-Commit-Position: refs/heads/main{#1465578}

--

wpt-commits: ed9846d475761ebb5c0aa451341482447f2c1bb8
wpt-pr: 52784

Differential Revision: https://phabricator.services.mozilla.com/D251826

UltraBlame original commit: d23c90f19fe87a6569668024d3936acebd4078d0
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Jun 1, 2025
…n if(),

Automatic update from web-platform-tests
Evaluate range container style queries in if()

Resolved in [0].

[0] w3c/csswg-drafts#8376 (comment)

Bug: 408011559
Change-Id: Ided2356dae0981e31c70774419738f958f8b7636
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6582622
Reviewed-by: Anders Hartvoll Ruud <andruudchromium.org>
Commit-Queue: Munira Tursunova <mooniragoogle.com>
Cr-Commit-Position: refs/heads/main{#1465578}

--

wpt-commits: ed9846d475761ebb5c0aa451341482447f2c1bb8
wpt-pr: 52784

Differential Revision: https://phabricator.services.mozilla.com/D251826

UltraBlame original commit: d23c90f19fe87a6569668024d3936acebd4078d0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Wednesday Afternoon
Development

No branches or pull requests

9 participants