diff options
Diffstat (limited to 'testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-024.xht')
-rw-r--r-- | testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-024.xht | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-024.xht b/testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-024.xht new file mode 100644 index 0000000000..73abd19c31 --- /dev/null +++ b/testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-024.xht @@ -0,0 +1,81 @@ +<!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> |