Skip to content

[css-inline-3] [css-display-3] Root inline box description conflicts with "Inline Layout Box Model" diagram #5555

Closed
@twilco

Description

@twilco

Quoting https://drafts.csswg.org/css-inline-3/#model:

The block container also generates a root inline box, which is an anonymous inline box that holds all of its inline-level contents. (Thus, all text in an inline formatting context is directly contained by an inline box, whether the root inline box or one of its descendants.)

And quoting https://drafts.csswg.org/css-display-3/#block-container:

A block container that contains only inline-level content establishes a new inline formatting context. The element then also generates a root inline box which wraps all of its inline content. Note, this root inline box concept effectively replaces the "anonymous inline element" concept introduced in CSS2§9.2.2.1.

These passages imply that each block container only generates a singular root inline box, and that this root inline box wraps all inline-level content present in the block container. However, that immediately conflicts with the "Inline Layout Box Model" diagram that is also in https://drafts.csswg.org/css-inline-3/#model, which shows multiple root inline boxes each wrapping separate pieces of inline-level content within the block container:

CSS Inline Layout Box Model, shows three root inline boxes nested within separate line boxes

This notion of multiple root inline boxes also seems to be well established outside the spec — see #1477 (comment) and #1477 (comment), both of which layout the given example with multiple root inline boxes.

What is correct — multiple root inline boxes per block container, or one?

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