list-style-position-016

Marker box position (inside principal box) - floated :before pseudo-element list-item ('list-style-position:inside')

WeasyPrint

This browser

Assertion
When the :before element is set as a list-item, it establishes a principal box into which a marker box is placed (when 'list-style-position:inside). Since the :before pseudo element is floated left, the principal box (and marker box, since 'list-style-position:inside') of the associated element must appear alongside (after) the :before pseudo element.

Source

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 2 <html>
 3  <head>
 4   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 5   <title>CSS Test: Marker box position (inside principal box) - floated :before pseudo-element list-item ('list-style-position:inside')</title>
 6   <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite">
 7   <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#list-style">
 8   <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content">
 9   <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#float-position">
10   <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#block-boxes">
11   <meta name="flags" content="">
12   <meta name="assert" content="When the :before element is set as a list-item, it establishes a principal box into which a marker box is placed (when 'list-style-position:inside). Since the :before pseudo element is floated left, the principal box (and marker box, since 'list-style-position:inside') of the associated element must appear alongside (after) the :before pseudo element.">
13   <style type="text/css">
14   #test{
15   background:silver;
16   color:blue;
17   display:list-item;
18   font-size:85px;
19   list-style-position:inside;
20   margin:100px;
21   }
22   #test:before{
23   color:yellow;
24   content:'T';
25   display:list-item;
26   float:left;
27   }
28   </style>
29  </head>
30  <body>
31   <p>To pass, there <strong>must</strong> a yellow bullet (filled-in circle) to the inside left edge of a grey box, and a yellow letter to the right of the yellow bullet. There <strong>must</strong> also be a blue bullet to the right of the yellow letter, and a blue letter to the right of the blue bullet.</p>
32   <div id="test">
33    T
34   </div>
35  </body>
36 </html>