blob: d72e475af535685719345fc37ac4fa729d174b98 [file] [log] [blame]
<!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 Writing Modes Test: 'vertical-lr' and margin collapsing - absolute positioning and siblings</title>
<link rel="author" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
<meta content="ahem image" name="flags" />
<meta name="assert" content="This test checks that absolutely positioned boxes do not collapse margins with siblings in 'vertical-lr' writing-mode." />
<!--
left static position for the div#abs-pos could be determined with margin collapse
or without margin collapse; so there are 2 possible rendered layouts for such code
2015-01-18
Test adapted and modified from
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-012.htm
"
The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
"
-->
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style type="text/css"><![CDATA[
body
{
margin-left: 66px;
/*
The sole purpose of this rule is to increase noticeability
of test failure in Google Chrome 40+
*/
}
p
{
font: 16px/1.25 serif; /* computes to 16px/20px */
}
div#test
{
border: teal solid 1em;
font: 25px/1 Ahem;
height: 4em; /* computes to 100px */
margin-bottom: 0.2em; /* computes to 5px */
writing-mode: vertical-lr;
}
div#wrapper
{
background-color: orange;
border-left: blue solid 1em;
width: 3em;
}
div#wrapper > div
{
height: 4em;
margin-left: 1em;
}
div#abs-pos
{
background-color: blue;
position: absolute;
top: 97px;
/*
16px : p's margin-top
+
20px : p's top-most line box height
+
20px : p's bottom-most line box height
+
16px : p's margin-bottom
+
25px : div#test's border-top
==========
97px
*/
width: 1em;
}
div.ref
{
border: teal solid 1em;
font: 25px/1 Ahem;
height: 4em; /* computes to 100px */
margin-bottom: 0.2em;
width: 4em;
}
]]></style>
</head>
<body>
<p>Test passes if the top square has a layout<br />identical to one of the squares below it.</p>
<div id="test">
<div id="wrapper">
<div id="widthless-static"></div>
<div id="abs-pos"></div>
</div>
</div>
<div class="ref" id="ref1"><img src="support/swatch-blue.png" width="25" height="100" alt="Image download support must be enabled" /><img src="support/swatch-orange.png" width="25" height="100" alt="Image download support must be enabled" /><img src="support/swatch-orange.png" width="25" height="100" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="25" height="100" alt="Image download support must be enabled" /></div>
<div class="ref" id="ref2"><img src="support/swatch-blue.png" width="25" height="100" alt="Image download support must be enabled" /><img src="support/swatch-orange.png" width="25" height="100" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="25" height="100" alt="Image download support must be enabled" /><img src="support/swatch-orange.png" width="25" height="100" alt="Image download support must be enabled" /></div>
</body>
</html>