| <!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> |