list-style-position-015

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

WeasyPrint

This browser

Assertion
When the :before element is set as a list-item, it establishes a principal box and a marker box which is positioned outside of that principal box (since 'list-style-position:outside). Since this :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) this :before pseudo element. The position of the marker box of the :before pseudo element must still appear to the outside left edge of it's associated element's principal box (since 'list-style-position:outside').

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:outside')</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 and a marker box which is positioned outside of that principal box (since 'list-style-position:outside). Since this :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) this :before pseudo element. The position of the marker box of the :before pseudo element must still appear to the outside left edge of it's associated element's principal box (since 'list-style-position:outside').">
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   list-style-position:outside;
28   }
29   </style>
30  </head>
31  <body>
32   <p>To pass, there <strong>must</strong> a yellow bullet (filled-in circle) to the left outside edge of a grey box. Inside the grey box, there <strong>must</strong> be a yellow letter to the left of a blue bullet, and a blue letter to the right of the blue bullet.</p>
33   <div id="test">
34    T
35   </div>
36  </body>
37 </html>