- From: Bruno Fassino <fassino@gmail.com>
- Date: Wed, 25 Aug 2010 17:47:11 +0200
- To: www-style list <www-style@w3.org>, fantasai <fantasai.lists@inkedblade.net>, Anton Prowse <prowse@moonhenge.net>
I've not been able to follow all the latest details of this discussion, anyway I've two naive questions. On 08/23/2010 03:40 PM, fantasai wrote: > > # Computing the clearance of an element on which 'clear' is set is > # done by first determining the hypothetical position of the element's > # top border edge within its parent block. <del>This position is > # determined after the top margin of the element has been collapsed > # with previous adjacent margins (including the top margin of the > # parent block).</del> <ins>This position is the same as the where > # the actual top border edge would have been if the element had a > # non-zero top border and its 'clear' property had been 'none'.</ins> Is "top" in the above last line intended? If yes, I must have missed something, since I thought the discussion was moving toward using "bottom" there. On 08/23/2010 7:23 PM, Anton Prowse wrote: > > I suggest the > following change to resolve both this issue and Issue 158: > > # Computing the clearance of an element on which 'clear' is set is > # done by first determining the hypothetical position of the element's > # top border edge within its parent block<del>. This position is > # determined after the top margin of the element has been collapsed > # with previous adjacent margins (including the top margin of the > # parent block).</del> <ins>as if the value of its 'clear' property > # had been 'none', as per the rules in 8.3.1.</ins> > # > # If this hypothetical position of the element's top border edge is > # not past the relevant floats, then clearance <del>must be</del> > # <ins>is introduced and margins collapsed anew according to the rules > # in 8.3.1. > # > # Then the amount of clearance is</ins> set to the greater of: > # > # 1. The amount necessary to place the <ins>top</ins> border edge of > # the block even with the bottom outer edge of the lowest float > # that is to be cleared. > # 2. <del>The amount necessary to make the sum of the > # following...</del> > # <ins>The amount necessary to place the top border edge of the > # block at the previously-computed hypothetical position.</ins> I remember we already discussed the idea to use full (normal) margin collapsing to compute the hypothetical position, and we saw this produces "unexpected" results in some cases, like this one: <div style="background: yellow">before</div> <div style="background: lime"> <div style="float: left; height: 50px; width: 100px; background:blue"></div> <div style="clear: left; margin-bottom: 100px"></div> </div> <div style="background: yellow">next</div> Unless I'm missing something, your formulation still produces an "unexpected" result here. So it's ultimately an arbitrary decision to take a formulation or another, we will probably always have some unpleasant results in some cases. Bruno -- Bruno Fassino http://www.brunildo.org/test
Received on Wednesday, 25 August 2010 15:47:45 UTC