- 
                Notifications
    
You must be signed in to change notification settings  - Fork 756
 
Closed
Description
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 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 principal box blockifies the generating element.
 - Definition: inlinifying a principal box inlinifies the generating element.
 - Definition: blockifying or inlinifying a text run does nothing.
 - Definition: blockifying an element sets its outer display type to 
blockand, if its inner display type is layout-internal, it is set toflow. - Definition: inlinifying an element sets its outer display type to 
inlineunless it was layout-internal. If the inner display type isflow, 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.
 - Assert: CSS specifications MUST prevent non-principal element-generated boxes from being blockified or inlinified.