abs-pos-non-replaced-vlr-035.xht (2720B)
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/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 - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title> 8 9 <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> 10 <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" /> 11 <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" /> 12 <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" /> 13 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 and then solve for 'left'." /> 16 17 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> 18 <style type="text/css"><![CDATA[ 19 div#containing-block 20 { 21 background: red url("support/bg-red-2col-2row-320x320.png"); 22 color: transparent; 23 direction: rtl; 24 font: 80px/1 Ahem; 25 height: 320px; 26 position: relative; 27 width: 320px; 28 } 29 30 div#containing-block > span 31 { 32 background-color: red; 33 color: green; 34 left: auto; 35 position: absolute; 36 right: auto; 37 width: 1em; 38 writing-mode: vertical-lr; 39 } 40 41 /* 42 " 43 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'). 44 " 45 46 'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block 47 48 So: 49 50 (solve) : left: auto 51 + 52 0px : margin-left 53 + 54 0px : border-left-width 55 + 56 0px : padding-left 57 + 58 80px : width 59 + 60 0px : padding-right 61 + 62 0px : border-right-width 63 + 64 0px : margin-right 65 + 66 160px : right: auto 67 ===================== 68 320px : width of containing block 69 70 And so computed left value must be 80px . 71 */ 72 73 ]]></style> 74 75 </head> 76 77 <body> 78 79 <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p> 80 81 <div id="containing-block">1 2 34<span>X</span></div> 82 83 </body> 84 </html>