Skip to content

[css2.2] Suggestion: Clarify the definition of "block-level" display values #12605

@kannanwisen

Description

@kannanwisen

Hello CSS Working Group,

This issue is to suggest a clarification for the definition of "block-level" elements in the CSS 2 specification, section 9.2.1.

The current text states:

The following values of the display property make an element block-level: block, list-item, and table.

While this was the standard at the time, this statement is imprecise when viewed through the lens of the modern CSS Display Module Level 3, which separates the display property into display-outside and display-inside.

The Point of Imprecision

The modern specification clarifies that the "block-level" nature of a box is determined by its display-outside value (block).

The values list-item and table are display-inside values. They define the internal formatting context for the element's children (e.g., to generate a marker box or a table formatting context). The reason elements with display: list-item or display: table behave as block-level is because they have an implicit display-outside value of block.

The current wording in CSS 2.2 conflates these two concepts, which can be a source of confusion for developers trying to build a precise mental model of the CSS layout system.

Proposal for Clarification

To improve the clarity of this foundational text and align it with modern concepts, I suggest adding an informative note. A full rewrite might be out of scope for a legacy specification, but a note would provide essential context for future readers.

An example of what this note could look like:

Note: In the modern CSS Display Module, the concept of "block-level" is defined by the display-outside property. The values list-item and table are display-inside values that also have an implicit display-outside value of block.

Adding this clarification would help developers understand the evolution of the display property and the precise reason for this behavior.

Thank you for your consideration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions