RE: RE: [CSS2.1] float positioning rules

>> According to the rules that govern the behavior of floats (section
>> 9.5.1), we would expect the floating div, in the example below, to be
>> positioned at the same top position as the paragraph. It satisfies
rule
>> 8 (placing a floating box as high as possible) and violates none of
the
>> rules. This seems awkward, but also differs from other major
>> implementations.
>> 
>> Can anybody clarify on this matter? Are there any anonymous boxes
>> created around floats to ease the formatting?

>It would not be as high as the paragraph, because of rule 4:

># A floating box's outer top may not be higher than the top of its
># containing block. When the float occurs between two collapsing
># margins, the float is positioned as if it had an otherwise empty
># anonymous block parent taking part in the flow. The position of
># such a parent is defined by the rules in the section on margin
># collapsing. 

Yes, we realized that the anonymous block parent would fix this specific
sample. But consider the slightly adjusted sample below. In this case,
the body has a bottom border. Now, the p block box and the bottom margin
of the body don't collapse, so the condition of rule 4 " When the float
occurs between two collapsing margins" is not satisfied. This would mean
that the top of the p is a valid and a (the only) correct position of
the float. 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <style type="text/css">
        div.yellow
        {
            width: 50pt; 
            height: 50pt;
            border: thin solid black; 
            float: left;     
        }
        body
        {
            border-bottom:thin solid red;
        }
  </style>
</head>
<body>
    <p>Text</p><div class="yellow"></div></body></html>

Thanks in advance.

--Robert

Received on Wednesday, 12 November 2008 19:04:14 UTC