| Index: LayoutTests/imported/csswg-test/css-writing-modes-3/abs-pos-non-replaced-vrl-106.xht
|
| diff --git a/LayoutTests/imported/csswg-test/css-writing-modes-3/abs-pos-non-replaced-vrl-004.xht b/LayoutTests/imported/csswg-test/css-writing-modes-3/abs-pos-non-replaced-vrl-106.xht
|
| similarity index 57%
|
| copy from LayoutTests/imported/csswg-test/css-writing-modes-3/abs-pos-non-replaced-vrl-004.xht
|
| copy to LayoutTests/imported/csswg-test/css-writing-modes-3/abs-pos-non-replaced-vrl-106.xht
|
| index 0920ee076f6a2b7cacc800507e1780e4ba5081e6..577e1a043a5b2c4db1b6e4a134f109931552cbb5 100644
|
| --- a/LayoutTests/imported/csswg-test/css-writing-modes-3/abs-pos-non-replaced-vrl-004.xht
|
| +++ b/LayoutTests/imported/csswg-test/css-writing-modes-3/abs-pos-non-replaced-vrl-106.xht
|
| @@ -8,16 +8,21 @@
|
|
|
| <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="abs-pos-non-replaced-vrl-004-ref.xht" />
|
| + <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
|
| + <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
|
|
|
| <meta name="flags" content="ahem image" />
|
| - <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto', then set 'left' to the static position, the width becomes shrink-to-fit and then solve for 'right'." />
|
| + <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position, the width is based on the content and then solve for 'left'." />
|
|
|
| <style type="text/css"><![CDATA[
|
| + html
|
| + {
|
| + -webkit-writing-mode: vertical-rl;
|
| + }
|
| +
|
| div#containing-block
|
| {
|
| - background: red url("support/bg-red-3col-2row-320x320.png");
|
| + background: red url("support/bg-red-3col-3row-320x320.png");
|
| color: transparent;
|
| direction: ltr;
|
| font: 80px/1 Ahem;
|
| @@ -34,63 +39,70 @@
|
| position: absolute;
|
| right: auto;
|
| width: auto;
|
| - -webkit-writing-mode: vertical-rl;
|
| }
|
|
|
| /*
|
| "
|
| -If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
|
| +Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
|
| +"
|
| +7.1 Principles of Layout in Vertical Writing Modes
|
| +http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
|
| +
|
| +So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
|
| +
|
| +"
|
| +If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
|
|
|
| -3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
|
| +3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
|
| "
|
|
|
| '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
|
| + 80px : right: auto: set to static position
|
| +
|
| - 0px : margin-left
|
| + 0px : margin-right
|
| +
|
| - 0px : border-left-width
|
| + 0px : border-right-width
|
| +
|
| - 0px : padding-left
|
| + 0px : padding-right
|
| +
|
| - (shrink-to-fit) : width: auto
|
| + (based on the content) : width: auto
|
| +
|
| - 0px : padding-right
|
| + 0px : padding-left
|
| +
|
| - 0px : border-right-width
|
| + 0px : border-left-width
|
| +
|
| - 0px : margin-right
|
| + 0px : margin-left
|
| +
|
| - (solve) : right: auto
|
| + (solve) : left: auto
|
| =====================
|
| 320px : width of containing block
|
|
|
| gives us:
|
|
|
| - 160px : left: auto: set to static position
|
| + 80px : right: auto: set to static position
|
| +
|
| - 0px : margin-left
|
| + 0px : margin-right
|
| +
|
| - 0px : border-left-width
|
| + 0px : border-right-width
|
| +
|
| - 0px : padding-left
|
| + 0px : padding-right
|
| +
|
| - 80px : (shrink-to-fit) : width: auto
|
| + 80px : (based on the content) : width: auto
|
| +
|
| - 0px : padding-right
|
| + 0px : padding-left
|
| +
|
| - 0px : border-right-width
|
| + 0px : border-left-width
|
| +
|
| - 0px : margin-right
|
| + 0px : margin-left
|
| +
|
| - (solve) : right: auto
|
| + (solve) : left: auto
|
| =====================
|
| 320px : width of containing block
|
|
|
| -And so computed right value must be 80px .
|
| +And so computed left value must be 160px .
|
| */
|
|
|
| ]]></style>
|
|
|