<!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: Absolutely positioned non-replaced elements when both 'margin-left' and 'margin-right' are set to 'auto' and direction is left-to-right</title>
<link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
<link rel="reviewer" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2012-08-31 -->
<link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" />
<link rel="match" href="absolute-non-replaced-width-002-ref.xht" />
<meta name="flags" content="ahem" />
<meta name="assert" content="When direction is 'ltr' and 'left', 'width' and 'right' are not 'auto', solve for 'margin-right' and 'margin-left' to equal values. If this would make 'margin-left' and 'margin-right' negative, then set 'margin-left' to zero and solve for 'margin-right'." />
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style type="text/css">
#div1
{
border: solid black;
direction: ltr;
height: 200px;
position: relative;
width: 200px;
}
div div
{
background: red;
color: blue;
font: 100px/1em Ahem;
left: 100px;
margin-left: auto;
margin-right: auto;
position: absolute;
right: 100px;
width: 100px;
}
/*
left : 100px
+ margin-left : solve (auto)
+ border-left-width : 0
+ padding-left : 0
+ width : 100px
+ padding-right : 0
+ border-right-width : 0
+ margin-right : solve (auto)
+ right : 100px
====================================
width of containing block : 200px
So, margin-left and margin-right would be each -50px at this point.
"...unless this would make them (the two margins) negative
in which case when direction of the containing block is
'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and
solve for 'margin-right' ('margin-left')."
So, under such extra constraint, 'margin-left' must become 0
and 'margin-right' must become -100px.
*/
</style>
</head>
<body>
<p>Test passes if a filled blue square is in the <strong>upper-right corner</strong> of an hollow black square and if there is <strong>no red</strong>.</p>
<div id="div1">
<div>X</div>
</div>
</body>
</html>