| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <title>CSS Test: Absolutely positioned inline replaced element with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right', 'right' and 'height'</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-09-07 --> |
| <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width" /> |
| <link rel="match" href="absolute-replaced-width-024-ref.xht" /> |
| |
| <meta name="flags" content="nonHTML svg" /> |
| <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolutely positioned inline replaced element becomes a used value of '0'." /> |
| <style type="text/css"> |
| #div1 |
| { |
| border: solid black; |
| direction: ltr; |
| height: 288px; |
| position: absolute; |
| width: auto; |
| } |
| |
| /* |
| The svg's containing block is div#div1 which |
| has width: auto. Therefore, shrink-to-fit width |
| will apply to div#div1. |
| Its non-positioned content is its |
| inner div which requires a |
| minimum of 288px. Therefore, |
| div#div1 shrink-to-fit width |
| will compute to 288px. |
| */ |
| |
| svg |
| { |
| height: 100px; |
| margin-left: auto; |
| margin-right: auto; |
| left: 88px; |
| position: absolute; |
| right: auto; |
| } |
| |
| /* |
| |
| 88px : left |
| + |
| 0px (set) : margin-left |
| + |
| 300px : width (pre-defined fallback when intrinsic values are not defined) |
| + |
| 0px (set) : margin-right |
| + |
| (solve) : right |
| ========================= |
| 388px : width of containing block (div#div1 width is 288px) |
| |
| Therefore, used right offset must be -100px so that the |
| constraining equation gets balanced. |
| |
| */ |
| |
| div div |
| { |
| background: orange; |
| height: 100px; |
| margin-left: 88px; |
| margin-top: 100px; |
| width: 200px; |
| } |
| </style> |
| </head> |
| <body> |
| <p>Test passes if the blue and orange rectangles have the same width and the blue rectangle is in the upper-right corner of an hollow black square.</p> |
| <div id="div1"> |
| <svg:svg version="1.1" xmlns:svg="http://www.w3.org/2000/svg" height="50" baseProfile="full"> |
| <svg:rect x="0" y="0" width="200" height="100" fill="blue" /> |
| </svg:svg> |
| <div></div> |
| </div> |
| </body> |
| </html> |