summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-024.xht
diff options
context:
space:
mode:
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.xht81
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>