[csswg-drafts] [css-display] More precise box transformations

Loirooriol has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-display] More precise box transformations ==
CSS Display has some handwaving about display types belonging to elements or boxes. Mostly it's clear what it means, but I think that [Box Type Transformations](https://drafts.csswg.org/css-display-3/#transformations) should be more precise, and differentiate between elements, element-generated boxes, anonymous boxes, and text runs.

I think it should say something like this:

 - Definition: blockifying a non-anonymous box blockifies the generating element.
 - Definition: inlinifying a non-anonymous box inlinifies the generating element.
 - Definition: blockifying or inlinifying a text run does nothing.
 - Definition: blockifying an element sets its outer display type to `block` and, if its inner display type is layout-internal, it is set to `flow`.
 - Definition: inlinifying an element sets its outer display type to `inline` unless it was layout-internal. If the inner display type is `flow`, the box recursively inlinifies its in-flow children.
 - Note: blockifiying or inlinifying an element without display types has no effect.
 - Note: blockifiying or inlinifying an element affects the computed value of `display`.
 - Note: blockifications and inlinifications happen before the creation of anonymous boxes to fix the box tree.
 - Assert: CSS specifications MUST prevent text runs from remaining as direct children of a parent box which blockifies its contents, e.g. by wrapping the text runs inside appropriate anonymous boxes.
 - Assert: CSS specifications MUST prevent anonymous inline-level boxes from being generated as direct direct children of a parent box which has blockified its contents, e.g. by generating anonymous block-level boxes instead.
 - Assert: CSS specifications MUST prevent anonymous block-level boxes from being generated as direct direct children of a parent box which has inlinified its contents, e.g. by generating anonymous inline-level boxes instead.
 - Assert: CSS specifications MUST prevent text runs, boxes and elements from being simultaneously blockified and inlinified.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1643 using your GitHub account

Received on Saturday, 22 July 2017 10:12:41 UTC