[css-display][css-flexbox][css-grid] Contradictory definitions of block-level (original) (raw)

CSS Flexbox says

flex items themselves are flex-level boxes, not block-level boxes: they participate in their container’s flex formatting context, not in a block formatting context.

Same for CSS Grid:

grid items are grid-level boxes, not block-level boxes: they participate in their container’s grid formatting context, not in a block formatting context.

This seems to mean that participating in a block formatting context is a requirement for being block-level.

However, CSS Display says otherwise:

The keywords specify the element’s outer display type, which is essentially its role in flow layout. They are defined as follows:

Then, having a block outer display type is enough to be block-level.

Since flex items and grid items are blockified, they always have a block outer display type. So they are block-level.

This contradicts the first and second quotes.