1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <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>
5 <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
6 <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">
7 <meta name="flags" content="ahem">
8 <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'.">
9 <style type="text/css">
10 #div1
11 {
12 border: solid black;
13 direction: ltr;
14 height: 2in;
15 position: relative;
16 width: 2in;
17 }
18 div div
19 {
20 background: red;
21 color: blue;
22 font: 1in/1em Ahem;
23 left: 1in;
24 margin-left: auto;
25 margin-right: auto;
26 position: absolute;
27 right: 1in;
28 width: 1in;
29 }
30 /*
31 left : 1in
32 + margin-left : solve (auto)
33 + border-left-width : 0
34 + padding-left : 0
35 + width : 1in
36 + padding-right : 0
37 + border-right-width : 0
38 + margin-right : solve (auto)
39 + right : 1in
40 ====================================
41 width of containing block : 2in
42
43 So, margin-left and margin-right would be each -0.5in at this point.
44
45 "...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')."
46
47 So, under such extra constraint, 'margin-left' must become 0 and 'margin-right' must become -1in.
48 */
49 </style>
50 </head>
51 <body>
52 <p>Test passes if the blue box fills the upper-right corner of the black box and there is no red visible on the page.</p>
53 <div id="div1">
54 <div>X</div>
55 </div>
56 </body>
57 </html>