W3C home > Mailing lists > Public > public-css-archive@w3.org > May 2017

[csswg-drafts] [css-display] What owns dysplay types, elements or boxes?

From: Loirooriol via GitHub <sysbot+gh@w3.org>
Date: Tue, 30 May 2017 18:31:08 +0000
To: public-css-archive@w3.org
Message-ID: <issues.opened-232341655-1496169066-sysbot+gh@w3.org>
Loirooriol has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-display] What owns dysplay types, elements or boxes? ==
Some quotes suggest that display types are owned by boxes:

> Boxes [...]. They’re often referred to by their display type

> The display property defines box’s display type

> the principal box’s inner display type defaults to flow

> the principal box’s outer display type defaults to block.

> table-cell boxes have a flow-root inner display type

> table-caption boxes have a flow-root inner display type.

> Boxes with layout-specific display types generate anonymous wrapper boxes

> sets the box’s outer display type to block or inline (respectively)

> If a block flow box is inlinified, its inner display type is set to flow-root

> If an inline flow box is inlinified, it recursively inlinifies all of its in-flow children

> If a layout-internal box is blockified, its inner display type converts to flow

> A run-in box with a flow inner display type inlinifies its contents.

> A non-replaced inline-level box whose inner display type is flow.

> Any inline-level box whose inner display type is not flow establishes a new formatting context of the specified inner display type.

Some quotes suggest that display types are owned by elements (including `::before`, `::after` and `::marker` pseudo-elements):

> The inner display of a replaced element

> The &lt;display-outside&gt; keywords specify the element’s outer display type

> the element’s inner display type defaults to flow.

> The &lt;display-inside&gt; keywords specify the element’s inner display type

> the element’s outer display type defaults to block

> both the inner display type and the outer display type of elements using these display values are set to the given keyword.

> Elements with either of these values do not have inner or outer display types

> The root element’s display type is always blockified.

> If the element [...]. Otherwise, it is made to establish a BFC by changing its inner display type to flow-root.

The difference is important because a single element can generate multiple boxes, e.g. an element with `display: block table` generates a table wrapper box and a table box. Do these boxes have display types? If they do, I guess the table wrapper box has `block flow-root` and the table box has `block table`. But then, wouldn't the table box generate another table wrapper box according to https://drafts.csswg.org/css-display-3/#valdef-display-table?

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1480 using your GitHub account
Received on Tuesday, 30 May 2017 18:31:15 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 06:41:13 UTC