| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
| <html> |
| <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="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width"> |
| <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'."> |
| <style type="text/css"> |
| #div1 |
| { |
| border: solid black; |
| direction: ltr; |
| height: 2in; |
| position: relative; |
| width: 2in; |
| } |
| div div |
| { |
| background: red; |
| color: blue; |
| font: 1in/1em Ahem; |
| left: 1in; |
| margin-left: auto; |
| margin-right: auto; |
| position: absolute; |
| right: 1in; |
| width: 1in; |
| } |
| /* |
| left : 1in |
| + margin-left : solve (auto) |
| + border-left-width : 0 |
| + padding-left : 0 |
| + width : 1in |
| + padding-right : 0 |
| + border-right-width : 0 |
| + margin-right : solve (auto) |
| + right : 1in |
| ==================================== |
| width of containing block : 2in |
| |
| So, margin-left and margin-right would be each -0.5in 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 -1in. |
| */ |
| </style> |
| </head> |
| <body> |
| <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> |
| <div id="div1"> |
| <div>X</div> |
| </div> |
| </body> |
| </html> |