| OLD | NEW |
| (Empty) | |
| 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x
html1/DTD/xhtml1-strict.dtd"> |
| 2 |
| 3 <html xmlns="http://www.w3.org/1999/xhtml"> |
| 4 |
| 5 <head> |
| 6 |
| 7 <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'd
irection: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</titl
e> |
| 8 |
| 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" /> |
| 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" /> |
| 12 <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" /> |
| 13 |
| 14 <meta name="flags" content="ahem image" /> |
| 15 <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'." /> |
| 16 |
| 17 <style type="text/css"><![CDATA[ |
| 18 div#containing-block |
| 19 { |
| 20 background: red url("support/bg-red-3col-2row-320x320.png"); |
| 21 color: transparent; |
| 22 direction: ltr; |
| 23 font: 80px/1 Ahem; |
| 24 height: 320px; |
| 25 position: relative; |
| 26 width: 320px; |
| 27 } |
| 28 |
| 29 div#containing-block > span |
| 30 { |
| 31 background-color: red; |
| 32 color: green; |
| 33 left: auto; |
| 34 position: absolute; |
| 35 right: auto; |
| 36 width: 1em; |
| 37 -webkit-writing-mode: vertical-rl; |
| 38 } |
| 39 |
| 40 /* |
| 41 " |
| 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'). |
| 43 " |
| 44 |
| 45 'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'paddi
ng-right' + 'border-right-width' + 'margin-right' + 'right' = width of containin
g block |
| 46 |
| 47 So: |
| 48 |
| 49 160px : left: auto: set to static position |
| 50 + |
| 51 0px : margin-left |
| 52 + |
| 53 0px : border-left-width |
| 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 (solve) : right: auto |
| 66 ===================== |
| 67 320px : width of containing block |
| 68 |
| 69 gives us: |
| 70 |
| 71 160px : left: auto: set to static position |
| 72 + |
| 73 0px : margin-left |
| 74 + |
| 75 0px : border-left-width |
| 76 + |
| 77 0px : padding-left |
| 78 + |
| 79 80px : width |
| 80 + |
| 81 0px : padding-right |
| 82 + |
| 83 0px : border-right-width |
| 84 + |
| 85 0px : margin-right |
| 86 + |
| 87 (solve) : right: auto |
| 88 ===================== |
| 89 320px : width of containing block |
| 90 |
| 91 And so computed right value must be 80px . |
| 92 */ |
| 93 |
| 94 ]]></style> |
| 95 |
| 96 </head> |
| 97 |
| 98 <body> |
| 99 |
| 100 <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="3
6" alt="Image download support must be enabled" /></p> |
| 101 |
| 102 <div id="containing-block">1 2 34<span>X</span></div> |
| 103 |
| 104 </body> |
| 105 </html> |
| OLD | NEW |