[csswg-drafts] [css-align] *-items properties might need to resolve directions early (#7612)

tabatkins has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-align] *-items properties might need to resolve directions early ==
Currently, the [*-items properties](https://drafts.csswg.org/css-align-3/#default-alignment) are extremely simple - aside from the `legacy` keyword doing some magic, their keywords are left completely uninterpreted. The [*-self properties](https://drafts.csswg.org/css-align-3/#self-alignment) then, as their `auto` behavior, grab the *-items value from their parent element, and interpret them appropriately - resolving logical values against the element's writing mode, etc.

Per @bfgeek, this might not match author expectations, and might end up not being web compatible. Chrome received [a bug about this](https://bugs.chromium.org/p/chromium/issues/detail?id=1066859), where an author wrote `align-items` on a column flexbox (which corresponds to the horizontal axis), and expected it to horizontally align a positioned child. Per spec, this won't work - the positioned child will take the parent's `align-items` value as its `align-self` value, but its `align-self` property operates in its containing block's block axis, which in this case is vertical.

Ian's suggestion is that we do direction resolution on the *-items properties, producing a pair of physical positions, and then the *-self properties take their `auto` values from the pair, grabbing from the pair according to their own axis 

So in the example above, the column flexbox (with `align-items: flex-end` and a default `justify-items: normal`) would produce a *horizontal* alignment of "right", and a vertical alignment of "normal". Then the positioned child, with both of its *-self properties being `auto`, would take an `align-self` of "normal" (because its align-* axis is vertical) and a `justify-self` of "end" (the logical direction corresponding to horizontal right).

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7612 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 16 August 2022 19:38:50 UTC