You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to the Collector, support goes a long way back. I assume these values have been introduced with the initial Flexbox implementation which would make sense given BCD originally didn't have initial CSS values as sub features. They were mass-added by Vinyl in 2025.
I think we want the following structure, but it would be good to confirm it before I proceed with other CSS properties. Is it correct to put all these values under flex_context?
css.properties.align-content:
block_context
flex_context
baseline
center
end (new from split)
first baseline
flex-end (new)
flex-start (new)
last baseline
safe (new from split)
space-around (new)
space-between (new)
space-evenly
start (new from split)
stretch
unsafe (new from split)
grid_context
multicol_context
normal
Alternatively, I guess, we could flatten this all out, leading to a few moves plus adding the missing values. That would mean less work for me on the Collector side, as I still have to teach the Collector that these values can be found in subtrees (flex_context in this case, grid_context in other cases).
So I've never been particularly fond of the flex_context etc. hierarchy, since there's no one key that represents the "this value participates in the cascade as a valid value" support case. I kinda think the "right" thing to do — especially if the Collector is not going to actually verify the applicable contexts — is to invert the structure to reflect how we handle these behaviors in other contexts, even though it involves more keys:
I can look into inverting this and then see how the collector might be able to test things, but I’m not sure if it is possible.
Per your proposal css.properties.align-content.foo would then have "whatever came first" as its data? or no data for the value directly and just data under the context keys?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data:cssCompat data for CSS features. https://developer.mozilla.org/docs/Web/CSSsize:l[PR only] 101-1000 LoC changed
2 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Towards #30410
According to the Collector, support goes a long way back. I assume these values have been introduced with the initial Flexbox implementation which would make sense given BCD originally didn't have initial CSS values as sub features. They were mass-added by Vinyl in 2025.
Also, these Flexbox sub-features probably weren't added back then because the structure is not simple: There is nesting going on here where values sit below
flex_contextandgrid_context. You can also see this in the compat table on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/align-content#browser_compatibilityI think we want the following structure, but it would be good to confirm it before I proceed with other CSS properties. Is it correct to put all these values under flex_context?
baselinecenterend(new from split)first baselineflex-end(new)flex-start(new)last baselinesafe(new from split)space-around(new)space-between(new)space-evenlystart(new from split)stretchunsafe(new from split)normalAlternatively, I guess, we could flatten this all out, leading to a few moves plus adding the missing values. That would mean less work for me on the Collector side, as I still have to teach the Collector that these values can be found in subtrees (flex_context in this case, grid_context in other cases).
What do we think?