- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Thu, 3 Jun 2010 16:51:13 -0700
- To: www-style list <www-style@w3.org>
This is meant to resolve issue 158: http://wiki.csswg.org/spec/css2.1#issue-158 In this issue, Anton Prowse points out that the phrasing in section 9.5.2 is confusing. Specifically, the phrase "these margins" is used to refer to margins mentioned two paragraphs previous, when there is at least one other margin mentioned between those two points. This is an attempted rewrite of this section to resolve the ambiguity and make the entire clearance section clearer. Delete the text in 9.5.2 from "Computing the clearance on an element..." to the end of the note after the bulleted list. Replace it with this text: """ 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. When computing this position, collapse all appropriate margins. If the top border edge of the cleared element at this hypothetical position is flush with or below the bottom outer edge of the lowest relevant float, then nothing else needs to be done. No clearance is added. Otherwise, recompute the hypothetical position, but this time do not collapse the element's top margin with any margins above it. Collapse any other appropriate margins. Then set the clearance equal to the amount necessary to make the top border edge of the cleared element flush with the bottom outer edge of the lowest relevant float. (The clearance amount may be negative, if the new hypothetical position would place the top border edge of the element below the bottom outer edge of the lowest relevant float.) """ As well, delete the explanatory paragraph immediately below the example, and replace it with the following text: """ Explanation: Without the 'clear', the first and last paragraphs' margins would collapse and the last paragraph's top border edge would be flush with the top of the floating paragraph. But the 'clear' requires the top border edge to be below the float, i.e., 2em lower. Recomputing the position of the last paragraph without letting the margins collapse then places the top border edge of the last paragraph 7em (4em + 3em) below the border edge of the first paragraph, or 1em below the bottom outer edge of the float. So, the clearance must be set to -1em to bring the border edge of the last paragraph flush with the bottom outer edge of the float. """ This should definitely be clearer, and I *believe* it describes the exact same behavior as the current spec. ~TJ
Received on Thursday, 3 June 2010 23:52:06 UTC