Skip to content

[css-display][css-tables][css-flexbox][css-grid] 'block' outer display type does not always produce a block-level box #1704

Closed
@Loirooriol

Description

@Loirooriol

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions