tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

abs-pos-non-replaced-vrl-028.xht (3103B)


      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: ltr' 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-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   <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-3col-2row-320x320.png");
     22       color: transparent;
     23       direction: ltr;
     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-rl;
     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     160px : left: auto: set to static position
     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   (solve) : right: auto
     67     =====================
     68     320px : width of containing block
     69 
     70 gives us:
     71 
     72     160px : left: auto: set to static position
     73   +
     74       0px : margin-left
     75   +
     76       0px : border-left-width
     77   +
     78       0px : padding-left
     79   +
     80      80px : width
     81   +
     82       0px : padding-right
     83   +
     84       0px : border-right-width
     85   +
     86       0px : margin-right
     87   +
     88   (solve) : right: auto
     89     =====================
     90     320px : width of containing block
     91 
     92 And so computed right value must be 80px .
     93 */
     94 
     95   ]]></style>
     96 
     97  </head>
     98 
     99  <body>
    100 
    101   <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
    102 
    103   <div id="containing-block">1 2 34<span>X</span></div>
    104 
    105  </body>
    106 </html>