Skip to content

[css-layout-api] Blockification section should use the computed value, not the box of the element #972

Open
@Loirooriol

Description

@Loirooriol

From https://drafts.css-houdini.org/css-layout-api/#layout-api-box-tree,

The inflow children of a layout API container can act in different ways [...]
If the value of layout options' childDisplay is "block" the display value of that child is blockified.

where

A layout API container is the box generated by an element with a <display-inside> computed value layout().

However, this implies that if the element with a <display-inside> computed value layout() doesn't generate any box (e.g. because it's inside a display: none subtree), then the children shouldn't be blockified, since there is no layout API container.

So just like in w3c/csswg-drafts#4065, CSS Layout should be updated to say something like

If the computed <display-inside> value of an element's nearest ancestor element (skipping ''display:contents'' ancestors) is layout(), the element's own 'display' value is blockified.

This reflects the reality of what Chromium already does.

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