tor-browser

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

abs-pos-non-replaced-vlr-113.xht (3142B)


      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 'top', 'height', and 'bottom' are '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-height" title="10.6.4 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 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, the height is based on content and then solve for 'bottom'." />
     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       bottom: auto;
     34       color: green;
     35       height: auto;
     36       position: absolute;
     37       top: auto;
     38       writing-mode: vertical-lr;
     39     }
     40 
     41 /*
     42 "
     43 If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
     44 
     45 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'
     46 "
     47 
     48 'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
     49 
     50 So:
     51 
     52      80px : top: auto: set to static position
     53   +
     54       0px : margin-top
     55   +
     56       0px : border-top-width
     57   +
     58       0px : padding-top
     59   +
     60   (shrink-to-fit) : height: auto
     61   +
     62       0px : padding-bottom
     63   +
     64       0px : border-bottom-width
     65   +
     66       0px : margin-bottom
     67   +
     68   (solve) : bottom: auto
     69     =====================
     70     320px : height of containing block
     71 
     72 gives us:
     73 
     74      80px : top: auto: set to static position
     75   +
     76       0px : margin-top
     77   +
     78       0px : border-top-width
     79   +
     80       0px : padding-top
     81   +
     82      80px : (shrink-to-fit) : height: auto
     83   +
     84       0px : padding-bottom
     85   +
     86       0px : border-bottom-width
     87   +
     88       0px : margin-bottom
     89   +
     90   (solve) : bottom: auto
     91     =====================
     92     320px : height of containing block
     93 
     94 And so computed bottom value must be 160px .
     95 */
     96 
     97   ]]></style>
     98 
     99  </head>
    100 
    101  <body>
    102 
    103   <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
    104 
    105   <div id="containing-block">1 2 34<span>X</span></div>
    106 
    107  </body>
    108 </html>