summaryrefslogtreecommitdiffstats
path: root/layout/reftests/writing-mode/abspos/s71-abs-pos-non-replaced-vlr-029.xht
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/writing-mode/abspos/s71-abs-pos-non-replaced-vlr-029.xht')
-rw-r--r--layout/reftests/writing-mode/abspos/s71-abs-pos-non-replaced-vlr-029.xht110
1 files changed, 110 insertions, 0 deletions
diff --git a/layout/reftests/writing-mode/abspos/s71-abs-pos-non-replaced-vlr-029.xht b/layout/reftests/writing-mode/abspos/s71-abs-pos-non-replaced-vlr-029.xht
new file mode 100644
index 000000000..63ab36c27
--- /dev/null
+++ b/layout/reftests/writing-mode/abspos/s71-abs-pos-non-replaced-vlr-029.xht
@@ -0,0 +1,110 @@
+<!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 Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+ <link rel="author" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+ <link rel="match" href="s71-abs-pos-non-replaced-vrl-004-ref.xht" />
+
+ <meta name="flags" content="ahem image" />
+ <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto', then set 'left' to the static position and then solve for 'right'." />
+
+ <link type="text/css" rel="stylesheet" href="support/ahem.css" />
+
+ <style type="text/css"><![CDATA[
+ div#containing-block
+ {
+ background: red url("support/bg-red-3col-2row-320x320.png");
+ color: transparent;
+ direction: ltr;
+ font: 80px/1 Ahem;
+ height: 320px;
+ position: relative;
+ width: 320px;
+ }
+
+ div#containing-block > span
+ {
+ background-color: red;
+ color: green;
+ left: auto;
+ position: absolute;
+ right: auto;
+ width: 1em;
+ -ah-writing-mode: vertical-lr;
+ -webkit-writing-mode: vertical-lr;
+ writing-mode: tb-lr; /* IE11 */
+ writing-mode: vertical-lr;
+ }
+
+/*
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+ 160px : left: auto: set to static position
+ +
+ 0px : margin-left
+ +
+ 0px : border-left-width
+ +
+ 0px : padding-left
+ +
+ 80px : width
+ +
+ 0px : padding-right
+ +
+ 0px : border-right-width
+ +
+ 0px : margin-right
+ +
+ (solve) : right: auto
+ =====================
+ 320px : width of containing block
+
+gives us:
+
+ 160px : left: auto: set to static position
+ +
+ 0px : margin-left
+ +
+ 0px : border-left-width
+ +
+ 0px : padding-left
+ +
+ 80px : width
+ +
+ 0px : padding-right
+ +
+ 0px : border-right-width
+ +
+ 0px : margin-right
+ +
+ (solve) : right: auto
+ =====================
+ 320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+ <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html> \ No newline at end of file