Re: [csswg-drafts] [css-display-3] Blockification doesn't seem backwards-compatible for inline-blocks

I think one of us is missing something, but I'm not sure whether it's me or you.  ;)

Per the table at https://www.w3.org/TR/css-display-3/#legacy-display 'inline-block' "behaves as 'inline flow-root'".  But per https://www.w3.org/TR/css-display-3/#the-display-properties the computed value of 'display' is the specified value... So if I have 'inline-block' specified, it computes to 'inline-block', not 'inline flow-root'.  OK, fine.

But then https://www.w3.org/TR/css-display-3/#transformations talks about just changing the outer display to 'block' and does not change the inner display.  What does that actually mean in terms of the computed value?  I see a few options:

1.  The precomposed value is decomposed to two keywords, the outer display is changed to 'block', and the new computed value is the resulting two-keyword value.  That would give 'block flow-root'.
2.  The precomposed value is decomposed to two keywords, the outer display is changed to 'block', and the new computed value is the precomposed value that corresponds to the new two-keyword value.  That would give 'flow-root'.
3.  The computed value is 'block'.  This is what browsers do right now, but I see no way to get there via the spec as currently written.

Note that the used value is likely 'block flow-root' in all cases, because things that cause blockification also lead to flow-root behavior.  The question is what the computed value is.

-- 
GitHub Notification of comment by bzbarsky
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1246#issuecomment-295110728 using your GitHub account

Received on Wednesday, 19 April 2017 06:05:27 UTC