You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<dd>The ''::marker'' pseudo-element is a 'display:inline' element placed immediately
333
-
before the ''::before'' pseudo-element in the <i>list item</i>'s principle box, after
334
-
which the element's content flows. Note that if there is no inline content,
335
-
this will create a line box, just as content in an inline ''::before'' pseudo-element
336
-
would. Also note that all the properties that apply to inline elements apply
337
-
to the ''::marker'' pseudo-element in this state, and this ''::marker'' box
338
-
participates in the inline box model in the normal manner.
339
-
<pclass=issue>Inline markers have some special behavior wrt white-space
340
-
collapsing at the beginning of the list-item. Is this behavior necessary for web-compat,
341
-
or can I just spec it away? (Since I have outside markers basically be abspos, it
342
-
doesn't apply to them.)</p></dd>
332
+
<dd>The ''::marker'' pseudo-element is a 'display:inline' element placed immediately before the ''::before'' pseudo-element in the <i>list item</i>'s principle box, after which the element's content flows. Note that if there is no inline content, this will create a line box, just as content in an inline ''::before'' pseudo-element would. Also note that all the properties that apply to inline elements apply to the ''::marker'' pseudo-element in this state, and this ''::marker'' box participates in the inline box model in the normal manner.</dd>
343
333
344
334
<dt><dfn>outside</dfn></dt>
345
-
<dd>As ''inside'', except the ::marker pseudo-element is placed
346
-
immediately before the first text or significant whitespace in the
347
-
<i>list item</i> or its descendants. As well, the computed value of
348
-
'position' on the ::marker pseudo-element is ''marker''. The section on
349
-
the new 'marker' value for 'position' explains the consequences of this.
350
-
<pclass=issue>I haven't yet defined what happens when the list item doesn't contain
351
-
any text, or when the first text is within a child list-item. I need to figure out how much
352
-
of current implementations is accidental and how much is necessary.</p></dd>
335
+
<dd>As ''inside'', plus the computed value of 'position' on the ::marker pseudo-element is ''marker''. The section on the new 'marker' value for 'position' explains the consequences of this.</dd>
353
336
</dl>
354
337
355
338
<p>Note that a marker is only generated if the computed value of the 'content'
the computed value of the 'content' property for the pseudo-element is not
522
505
''none''.</p>
523
506
524
-
<p>Just like other generated content, markers generate a box when they're created,
525
-
which has margins, border, padding, and everything else a box normally has. Markers
526
-
are placed at the beginning of their superior parent's content (the exact
527
-
location depends on the value of 'list-style-position' on the list item, as
528
-
explained in the definition of that property). Marker boxes are inline by
529
-
default, though certain values for 'list-style-position' on the list item
530
-
can make the marker box positioned, which can have an effect on the computed
531
-
value of display.</p>
507
+
<p>Just like other generated content, markers generate a box when they're created, which has margins, border, padding, and everything else a box normally has. Markers are placed at the beginning of their superior parent's content, before the ::before pseudo-element (if it exists). Marker boxes are inline by default, though certain values for 'list-style-position' on the list item can make the marker box positioned, which can have an effect on the computed value of display.</p>
532
508
533
509
<divclass="html-example">
534
510
<p>In the following example, the content is centered within a marker
@@ -679,13 +655,7 @@ <h3 id='content-property'>
679
655
<li>Otherwise, if the computed value of 'list-style-type' is a string, then
680
656
the computed value of the 'content' property is that string.</li>
681
657
682
-
<li>Otherwise, if the computed value of 'list-style-type' is the name
683
-
of a counter style, then the computed value of the 'content' property
684
-
is <code><counter-prefix> counter(list-item, <counter-name>) <counter-suffix></code>,
685
-
where <i><counter-name></i> is the computed value of the 'list-style-type'
686
-
property and <i><counter-prefix></i> and <i><counter-suffix></i> are
687
-
the values of the <ititle='counter-prefix'>prefix</i> and <ititle='counter-suffix'>suffix</i>
688
-
descriptors for the counter style with that name.</li>
658
+
<li>Otherwise, if the computed value of 'list-style-type' is the name of a counter style, then the computed value of the 'content' property is <code><counter-prefix> counter(list-item, <counter-name>) <counter-suffix></code>, where <i><counter-name></i> is the computed value of the 'list-style-type' property and <i><counter-prefix></i> and <i><counter-suffix></i> are the values of the <ititle='counter-prefix'>prefix</i> and <ititle='counter-suffix'>suffix</i> descriptors for the counter style with that name.</li>
689
659
690
660
<li>Otherwise the computed value is ''none''.</li>
691
661
</ol>
@@ -759,27 +729,14 @@ <h2 id='display-marker'>
759
729
</tbody>
760
730
</table>
761
731
762
-
<p>The ''marker'' value for 'position' depends on the box it is set on
763
-
having a list item ancestor. If there is no list item ancestor, this value
764
-
must be treated identically to ''position:relative''.</p>
732
+
<p>The ''marker'' value for 'position' depends on the element it is set on having a list item ancestor. If the specified value of 'position' is ''marker'' and the element does not have a list-item ancestor, 'position' must compute to 'relative' on the element.</p>
765
733
766
734
<p>The box's vertical position is calculated according to the
<spanclass='note'>In the Positioned Layout Module this will be defined
769
737
more precisely in terms of placeholders.</span></p>
770
738
771
-
<p>To calculate the box's horizontal position, first define the box's nearest
772
-
list item ancestor as the <dfn>ancestor list item</dfn>, and the parent of
773
-
that box as the <dfn>ancestor list container</dfn>. The box's horizontal
774
-
position must then be set such that the edge of the box corresponding to the
775
-
"end" edge of the <i>ancestor list container</i> is flush with the edge of
776
-
the <i>ancestor list item</i> corresponding to the "start" edge of the
777
-
<i>ancestor list container</i>. <spanclass='note'>The purpose of this
778
-
somewhat convoluted definition is to position the marker flush against its
779
-
list item, and to keep all the markers for a given list on the same side
780
-
of their list items even in mixed-direction text, so that authors can
781
-
specify padding on only one side and still ensure their markers are
782
-
visible.</span></p>
739
+
<p>To calculate the box's horizontal position, first define the box's nearest list item ancestor as the <dfn>ancestor list item</dfn>, and the parent of that box as the <dfn>ancestor list container</dfn>. The box's horizontal position must then be set such that the margin edge of the box corresponding to the "end" edge of the <i>ancestor list container</i> is flush with the border edge of the <i>ancestor list item</i> corresponding to the "start" edge of the <i>ancestor list container</i>. <spanclass='note'>The purpose of this somewhat convoluted definition is to position the marker flush against its list item, and to keep all the markers for a given list on the same side of their list items even in mixed-direction text, so that authors can specify padding on only one side and still ensure their markers are visible.</span></p>
783
740
784
741
<pclass='issue'>This handles ltr/rtl mixed-direction text, but not mixed
785
742
horizontal and vertical text. For example, if the <i>ancestor list container</i>
0 commit comments