W3C home > Mailing lists > Public > www-style@w3.org > March 2011

Re: [CSS21] top margin edge - hence static position - is not well-defined

From: Anton Prowse <prowse@moonhenge.net>
Date: Sun, 27 Mar 2011 19:39:42 +0200
Message-ID: <4D8F765E.6090505@moonhenge.net>
To: "www-style@w3.org" <www-style@w3.org>
CC: Alan Gresley <alan@css-class.com>
On 27/03/2011 19:11, Alan Gresley wrote:
> On 28/03/2011 2:45 AM, Anton Prowse wrote:
>> On 27/03/2011 17:32, Alan Gresley wrote:
>>> On 28/03/2011 12:31 AM, Anton Prowse wrote:
>
>>>> <div style="border-bottom:1px solid; margin-bottom:20px"></div>
>>>> <div style="position:absolute; width:100px; height:100px; background:
>>>> yellow; margin-top:10px"></div>
>>>> <div style="border-top:1px solid; margin-top:20px"></div>
>>>>
>>>> There's no interop on this issue, but that's because Fx and IE don't
>>>> perform tentative margin collapsing at all for abspos in order to
>>>> determine their static position.
>>>
>>>
>>> This is since the margins of elements with position absolute do not
>>> collapse [1] 8.3.1.
>>
>> Alan, we're talking about the calculation of the _static position_ of
>> absolutely positioned elements.
>
> I know, the static position is seen when it is static (in normal flow).
> Remove position: absolute and you have it's static position. This is
> what a browser has to work out. What it's position would be if it was
> position: static.

Yes, so the point is that there's no excuse for Fx and IE using the 
rules for margin-collapsing of abspos boxes when calculating the static 
position, since the boxes are not abspos when calculating their static 
position!  Basically, these browsers are just being lazy.  There is 
interop for what the non-lazy browsers (Op and Sf) do though, and it's 
that behaviour that we should probably specify.  We need to specify 
/something/...

Cheers,
Anton Prowse
http://dev.moonhenge.net
Received on Sunday, 27 March 2011 17:40:13 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:38 GMT