diff options
Diffstat (limited to 'testing/web-platform/tests/css/CSS2/floats-clear/margin-collapse-clear-013.xht')
-rw-r--r-- | testing/web-platform/tests/css/CSS2/floats-clear/margin-collapse-clear-013.xht | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/CSS2/floats-clear/margin-collapse-clear-013.xht b/testing/web-platform/tests/css/CSS2/floats-clear/margin-collapse-clear-013.xht new file mode 100644 index 0000000000..bfeddbf020 --- /dev/null +++ b/testing/web-platform/tests/css/CSS2/floats-clear/margin-collapse-clear-013.xht @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + + <head> + + <title>CSS Test: Margin collapsing with clearance - margins of a 'collapsed through' box with clearance do not collapse with parent block's bottom margin</title> + + <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#normal-block" /> + <link rel="bookmark" href="http://lists.w3.org/Archives/Public/public-css-testsuite/2013Oct/0009.html" title="Issue with margin-collapse-clear-012.htm and margin-collapse-clear-013.htm" /> + <link rel="author" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> + <link rel="author" title="Bruno Fassino" href="fassino[at]gmail.com" /> + <link rel="match" href="margin-collapse-clear-012-ref.xht" /> + + <meta content="When an element has had clearance applied to it and its own margins collapse, these margins do not collapse with the bottom margin of the parent block" name="assert" /> + + <style type="text/css"><![CDATA[ + #rel-pos-wrapper {position: relative;} + + #parent-lime + { + background-color: lime; + border-top: black solid 1px; + width: 50%; + } + + #float-left-blue + { + background-color: blue; + float: left; + height: 100px; + width: 100px; + } + + #clear-left + { + clear: left; + margin-bottom: 140px; + margin-top: 40px; + } + + #next-yellow + { + background-color: yellow; + height: 100px; + } + + .ref-overlapped-red + { + background-color: red; + position: absolute; + z-index: -1; + } + + #ref1 + { + height: 200px; + top: 1px; + width: 50%; + } + + #ref2 + { + height: 100px; + top: 201px; + width: 100%; + } + ]]></style> + + </head> + + <body> + + <p>Test passes if there is <strong>no red</strong>.</p> + + <div id="rel-pos-wrapper"> + + <!-- + + clearance + + + margin-top of #clear-left (40px) + ==================================== + height of #float-left-blue (100px) + + therefore, clearance is equal to +60px + + --> + + <!-- + + #parent-lime should have height 200px, sum of: + + 100px : height of #float-left-blue + + + (140px - 40px) : part of #clear-left's margin-bottom + exceeding #clear-left's margin-top + ======= + 200px + + The position of the top border edge of the div#clear-left + is where it would have been if the element had a + non-zero bottom border. The margins of div#clear-left + collapse together to 140px and the top border edge of + div#clear-left is at 40px inside of it. Clearance is + added at such position, not to the whole 140px. + + Issue with margin-collapse-clear-012.htm and margin-collapse-clear-013.htm + http://lists.w3.org/Archives/Public/public-css-testsuite/2013Oct/0012.html + + --> + + <div id="parent-lime"> + <div id="float-left-blue"></div> + <div id="clear-left"></div> + </div> + + <!-- + #next-yellow should immediately follow #parent-lime (no margins in between) + --> + + <div id="next-yellow"></div> + + <!-- + #ref1 and #ref2 boxes create a sort of 'reference rendering' + where #ref1 should be covered, overlapped by #parent-lime + while #ref2 should be covered, overlapped by #next-yellow. + --> + + <div id="ref1" class="ref-overlapped-red"></div> + <div id="ref2" class="ref-overlapped-red"></div> + + </div> + + </body> +</html> |