- From: Gérard Talbot <css21testsuite@gtalbot.org>
- Date: Sat, 30 Nov 2013 19:25:46 -0500
- To: Bruno Fassino <fassino@gmail.com>
- Cc: Robert Hogan <robhogan@gmail.com>, Public CSS test suite mailing list <public-css-testsuite@w3.org>
Le 2013-10-26 12:31, Bruno Fassino a écrit : > On Thu, Oct 24, 2013 at 7:51 PM, Robert Hogan <robhogan@gmail.com> > wrote: > >> I'm questioning the expected rendering of this part of >> margin-collapse-clear-012.htm: >> >> <div id="parent"> >> <div id="float" style="float:left; height: 100px; width: 100px; >> background-color:blue;"></div> >> <div id="self-collapsing-with-clearance" style="clear: both; >> margin-top: 40px; margin-bottom:80px"></div> >> <div id="following-sibling" style="margin-bottom:140px;"></div> >> </div> >> >> The test results expect "self-collapsing-with-clearance" to receive a >> clearance of 60px - this is a result of subtracting the margin-top >> from the height of the float it has to clear (100px - 40px). >> >> However I believe the correct clearance is 20px. I say this because >> the margins in "self-collapsing-with-clearance" collapse together >> giving a collapsed margin-top value of 80px (max(margin-top, >> margin-bottom)) and it is this value that has to be used to determine >> the clearance: 100px - 80px = 20px >> > > > Hi Robert, > > I believe the test is correct. > > It's true that the margins of "self-collapsing-with-clearance" collapse > together to a value of 80px, but the clearance is added: > "to place the (top) border edge of the block even with the bottom outer > edge of the lowest float that is to be cleared" (from > http://www.w3.org/TR/CSS2/visuren.html#flow-control after the part you > mentioned). > > Now where is the "top border edge" of a self collapsing block? > For our case the relevant part is at > http://www.w3.org/TR/CSS2/box.html#collapsing-margins towards the end: > "The position of the element's top border edge is the same as it would > have > been if the element had a non-zero bottom border" > > So the margins of our "self-collapsing-with-clearance" collapse > together to > 80px and the top border edge of the box is at 40px in the middle of > that. > Clearance has to be added to this position, not to the whole 80px. So > clearance is 60px as stated in the test, not only 20px. > > Same thing for the other test margin-collapse-clear-012.htm. > > I hope this is clear and correct (each time I reread these parts of the > spec and try to apply them a non trivial case, I found this operation > difficult). > > > On Thu, Oct 24, 2013 at 3:11 AM, Gérard Talbot > <css21testsuite@gtalbot.org>wrote: >> I can see 1 comment (lines 96 to 98) in margin-collapse-clear-013.htm > which is not right though. > > Sure! We probably copied this comment from the previous test, > forgetting to > adapt it. > It should say: > > (140px - 40px) : part of #clear-left's margin-bottom exceeding > #clear-left's margin-top > > or something like that. > > > Bruno Bruno, Robert, I corrected the comment and added an explanation about the vertical position of the top border edge of the self collapsing element: http://test.csswg.org/shepherd/testcase/margin-collapse-clear-013/changeset/5863/ Gérard -- Web authors' contributions to CSS 2.1 test suite http://www.gtalbot.org/BrowserBugsSection/css21testsuite/web-authors-contributions-css21-testsuite.html CSS 2.1 Test suite RC6, March 23rd 2011 http://test.csswg.org/suites/css2.1/20110323/html4/toc.html
Received on Sunday, 1 December 2013 00:26:23 UTC