Description
CSS Tables says that table
generates a block-level table.
CSS Flexbox says that flex
generates a block-level flex container.
CSS Grid says that grid
generates a block-level grid container.
CSS Display says the above plus things like that block
generates a block box.
However, this is only true in flow layout. Outside of flow layout, the block
outer display type can also generate a flex-level or grid-level principal box.
I think there are two reasonable solutions:
-
Say that "flex-level" and "grid-level" are sublevels of "block-level" instead of entirely different things. So we could say e.g. that a flex item is both flex-level and block-level, but a block box in flow layout is only block-level.
I think this would only require editing the text in CSS Flexbox and CSS Grid which says that flex items and grid items are not block-level.
-
Define a new term called "blocklike-level", "normal-level", "auto-level" or similar which is defined as such:
- Inside flow layout, a synonym for "block-level".
- Inside flex layout, a synonym for "flex-level".
- Inside grid layout, a synonym for "grid-level".
And then update the specs to use that term instead of "block-level" when necessary. I prefer this option, but it's more work.
In both cases it would be a good idea to define all the possible box levels in CSS Display.