Hi,
I'll comment on the specific issues inline, but first of all I'd like to
remark some points that may be useful to clarify the purpose of this
intent request.
The CSS Box Alignment spec tries to generalize the alignment properties
previously defined as part of the CSS Flexible Box Layout Model spec.
It's a superset, hence it contains all the properties and values already
defined (and currently supported by all browsers) and a bunch of new
properties and values.
Since this new spec affects to many layout modes, it has some specific
clauses about Partial Implementations
(
https://drafts.csswg.org/css-align/#partial), so that new values for a
CSS property must be implement for all the layout models already
supporting such property.
The justify-items is one of those new properties. In Chrome, we have
implemented it only for the CSS Grid Layout feature, which is a valid
scenario, according to the above mentioned Partial Implementation
section. Additionally, this 'legacy' keyword is also new and will only
affect to Grid Layout containers, for the time being.
Finally, as part of the Grid Layout implementation, we already support
this legacy alignment for elements using 'auto' as justify-items value,
using the inherited value if an ancestor's justify-items value contains
the 'legacy' keyword (plus 'left', 'center' or 'right'). This intent
request just tries to replace the 'auto' value with a new defined
keyword, 'legacy'. There is no actual behavior change (while we don't
implement support for other layout models), other than resolving to
'normal' in case of no ancestors using the legacy keyword (and a few
computed style and serialization issues).
I'm not sure I understand enough those issues to be sure what changes
would require, but I can forward the question to the CSS Box Alignment
spec editors. In my opinion, this definition of 'legacy' alignment
doesn't account for those issues. Specially, as I mentioned before, in
the case of Grid Layout elements.
> I also looked at the patch for Firefox and it didn't seem to adjust
> the default style sheet. Are we sure everyone is on the same page
> here?
>
As far I understand the patch, it sets 'legacy' as the initial value in
the xml definition of the justify-items property:
"justify-items": {
domProp: "justifyItems",
inherited: false,
type: CSS_TYPE_LONGHAND,
- initial_values: [ "auto", "normal" ],
+ initial_values: [ "legacy", "normal" ],
Perhaps I didn't understand the question. I'm in direct conversation
with the Firefox dev implementing this change to ensure our
implementation matches what the other browser do.