OLD | NEW |
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x
html1/DTD/xhtml1-strict.dtd"> | 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x
html1/DTD/xhtml1-strict.dtd"> |
2 | 2 |
3 <html xmlns="http://www.w3.org/1999/xhtml"> | 3 <html xmlns="http://www.w3.org/1999/xhtml"> |
4 | 4 |
5 <head> | 5 <head> |
6 | 6 |
7 <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'd
irection: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</titl
e> | 7 <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'd
irection: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</titl
e> |
8 | 8 |
9 <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserB
ugsSection/css21testsuite/" /> | 9 <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserB
ugsSection/css21testsuite/" /> |
10 <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layo
ut" title="7.1 Principles of Layout in Vertical Writing Modes" /> | 10 <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layo
ut" title="7.1 Principles of Layout in Vertical Writing Modes" /> |
11 <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replace
d-width" title="10.3.7 Absolutely positioned, non-replaced elements" /> | 11 <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replace
d-height" title="10.6.4 Absolutely positioned, non-replaced elements" /> |
12 <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" /> | 12 <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" /> |
13 | 13 |
14 <meta name="flags" content="ahem image" /> | 14 <meta name="flags" content="ahem image" /> |
15 <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right'
are 'auto' and 'width' is not 'auto', then set 'right' to the static position an
d then solve for 'left'." /> | 15 <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right'
are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-lr', then s
et 'left' to the static position and then solve for 'right'." /> |
16 | 16 |
17 <style type="text/css"><![CDATA[ | 17 <style type="text/css"><![CDATA[ |
| 18 html |
| 19 { |
| 20 -webkit-writing-mode: vertical-lr; |
| 21 } |
| 22 |
18 div#containing-block | 23 div#containing-block |
19 { | 24 { |
20 background: red url("support/bg-red-2col-2row-320x320.png"); | 25 background: red url("support/bg-red-2col-2row-320x320.png"); |
21 color: transparent; | 26 color: transparent; |
22 direction: rtl; | 27 direction: rtl; |
23 font: 80px/1 Ahem; | 28 font: 80px/1 Ahem; |
24 height: 320px; | 29 height: 320px; |
25 position: relative; | 30 position: relative; |
26 width: 320px; | 31 width: 320px; |
27 } | 32 } |
28 | 33 |
29 div#containing-block > span | 34 div#containing-block > span |
30 { | 35 { |
31 background-color: red; | 36 background-color: green; |
32 color: green; | 37 height: 1em; |
33 left: auto; | 38 left: auto; |
34 position: absolute; | 39 position: absolute; |
35 right: auto; | 40 right: auto; |
36 width: 1em; | 41 width: 1em; |
37 -webkit-writing-mode: vertical-lr; | |
38 } | 42 } |
39 | 43 |
40 /* | 44 /* |
41 " | 45 " |
42 2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'directi
on' property of the element establishing the static-position containing block is
'ltr' set 'left' to the static position, otherwise set 'right' to the static po
sition. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction
' is 'ltr'). | 46 Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to t
he horizontal dimension in horizontal writing modes instead apply to the vertica
l dimension in vertical writing modes. |
| 47 " |
| 48 7.1 Principles of Layout in Vertical Writing Modes |
| 49 http://www.w3.org/TR/css-writing-modes-3/#vertical-layout |
| 50 |
| 51 So here, *left properties and *right properties are input into the §10.6.4 algor
ithms where *left properties refer to *top properties in the layout rules and wh
ere *right properties refer to *bottom properties in the layout rules. |
| 52 |
| 53 " |
| 54 2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to t
he static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0,
and solve for 'bottom' |
43 " | 55 " |
44 | 56 |
45 'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'paddi
ng-right' + 'border-right-width' + 'margin-right' + 'right' = width of containin
g block | 57 'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'paddi
ng-right' + 'border-right-width' + 'margin-right' + 'right' = width of containin
g block |
46 | 58 |
47 So: | 59 So: |
48 | 60 |
49 (solve) : left: auto | 61 (solve) : right: auto |
| 62 + |
| 63 0px : margin-right |
| 64 + |
| 65 0px : border-right-width |
| 66 + |
| 67 0px : padding-right |
| 68 + |
| 69 80px : width |
| 70 + |
| 71 0px : padding-left |
| 72 + |
| 73 0px : border-left-width |
50 + | 74 + |
51 0px : margin-left | 75 0px : margin-left |
52 + | 76 + |
53 0px : border-left-width | 77 80px : left: auto: set to static position |
54 + | |
55 0px : padding-left | |
56 + | |
57 80px : width | |
58 + | |
59 0px : padding-right | |
60 + | |
61 0px : border-right-width | |
62 + | |
63 0px : margin-right | |
64 + | |
65 160px : right: auto | |
66 ===================== | 78 ===================== |
67 320px : width of containing block | 79 320px : width of containing block |
68 | 80 |
69 And so computed left value must be 80px . | 81 And so computed right value must be 160px . |
70 */ | 82 */ |
71 | 83 |
72 ]]></style> | 84 ]]></style> |
73 | 85 |
74 </head> | 86 </head> |
75 | 87 |
76 <body> | 88 <body> |
77 | 89 |
78 <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="3
6" alt="Image download support must be enabled" /></p> | 90 <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="3
6" alt="Image download support must be enabled" /></p> |
79 | 91 |
80 <div id="containing-block">1 2 34<span>X</span></div> | 92 <div id="containing-block">1 2 34<span></span></div> |
81 | 93 |
82 </body> | 94 </body> |
83 </html> | 95 </html> |
OLD | NEW |