Open bfgeek opened 2 years ago
This appears to be pretty much undefined, afaict. While we specify the axis that the property operates in, we don't specify what writing mode/etc the staticpos rectangle uses. I think it's reasonable for it to take its directions from the parent, yeah - that matches the "what it would do if it wasn't positioned" intention. The fact that we have backcompat on that behavior just makes the answer obvious.
justify-self: start
is defined to use the writing mode of the container: https://www.w3.org/TR/css-align-3/#positional-values
I think it's good to bring this up though: for static positioning, we probably want to use the writing mode of the static position containing block to resolve both the directions and the axes. (That'll also solve our backwards-compat concerns with Flexbox in a self-consistent way.)
The CSS Working Group just discussed [css-align] align-self / justify-self on abspos elements isn't back compatible?
, and agreed to the following:
RESOLVED: Use the writing mode of the parent's formatting context for staticpos
RESOLVED: Align justify axis of non staticpos use writing mode of their containing block
@bfgeek We've completed the edits for this add https://github.com/w3c/csswg-drafts/issues/7612 ; Let us know if anything still needs fixing?
Consider:
https://drafts.csswg.org/css-align-3/#justify-abspos
Today the static-pos of will be on the right - however I think what the current spec text is suggesting is that it'd be on the left? I.e. justify-self:auto -> justify-self:normal -> justify-self:start
I suspect this isn't intentional - likely "normal" needs to be interpreted as what the natural alignment of the static-pos rect is.
cc/ @tabatkins @fantasai