2.1.39 [CSS-Level2-2009] Section 9.2.1.1, Anonymous block boxes

V0050:

The specification states:

 When an inline box contains an in-flow block-level box, the inline box (and its inline ancestors within the same line box) are broken around the block-level box (and any block-level siblings that are consecutive or separated only by collapsible whitespace and/or out-of-flow elements), splitting the inline box into two boxes (even if either side is empty), one on each side of the block-level box(es). The line boxes before the break and after the break are enclosed in anonymous block boxes, and the block-level box becomes a sibling of those anonymous boxes. When such an inline box is affected by relative positioning, any resulting translation also affects the block-level box contained in the inline box.

Quirks Mode and IE7 Mode (All Versions)

The inline box is not broken around the contained block.

V0051:

The specification states:

 Some user agents have implemented borders on inlines containing blocks in other 
 ways, e.g., by wrapping such nested blocks inside "anonymous line boxes" and thus 
 drawing inline borders around such boxes. As CSS1 and CSS2 did not define this 
 behavior, CSS1-only and CSS2-only user agents may implement this alternative model 
 and still claim conformance to this part of CSS 2.1. This does not apply to UAs 
 developed after this specification was released.

Quirks Mode and IE7 Mode (All Versions)

Borders are rendered by wrapping blocks contained in inline boxes inside "anonymous line boxes" so that inline borders are drawn around the inline boxes.