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
Copy file name to clipboardExpand all lines: css3-lists/Overview.src.html
+11-13Lines changed: 11 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -671,13 +671,11 @@ <h3 id='position-marker'>
671
671
672
672
<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. An element with <codeclass=css>position:marker</code> counts as <ahref="http://www.w3.org/TR/CSS21/visuren.html#absolutely-positioned">absolutely positioned</a>.</p>
673
673
674
-
<p>The element's vertical position is calculated according to the <ahref="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">normal flow</a>. <spanclass='note'>In the Positioned Layout Module this will be defined more precisely in terms of placeholders.</span></p>
675
-
676
-
<p>To calculate the element's horizontal position, we must first define a few terms:</p>
674
+
<p>To calculate the marker's position, we must first define a few terms:</p>
677
675
678
676
<dl>
679
677
<dt><dfntitle="ancestor list item|ancestor list item's">ancestor list item</dfn></dt>
680
-
<dd>The <i>ancestor list item</i> is the marker's nearest list item ancestor.</dd>
678
+
<dd>The <i>ancestor list item</i> is the marker's nearest list item ancestor element.</dd>
<p>Otherwise, the <i>marker positioning reference element</i> is the <i>ancestor list item</i>.</p>
689
687
</dd>
688
+
689
+
<dt><dfn>list item positioning edge</dfn></dt>
690
+
<dd>The border edge of the <i>ancestor list item</i> corresponding to the "start" or "before" edge of the <i>marker positioning reference element</i>, whichever is in the <i>ancestor list item's</i> inline axis.</dd>
691
+
692
+
<dt><dfn>marker positioning edge</dfn></dt>
693
+
<dd>The opposing edge relative to the <i>list item positioning edge</i> on the marker's margin box. For example, if the <i>list item positioning edge ended up being the left border edge of the <i>ancestor list item</i>, the <i>marker positioning edge</i> would be the right margin edge of the marker.</dd>
690
694
</dl>
691
695
692
-
<p>The element's horizontal position must then be set such that the element's margin edge that corresponds to the "end" edge of the <i>marker positioning reference element</i> is flush with the <i>ancestor list item's</i> border edge that corresponds to the "start" edge of the <i>marker positioning reference element</i>.</p>
696
+
<p>The marker's position in the <i>ancestor list item's</i> block axis is calculated according to the <ahref="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">normal flow</a>. <spanclass='note'>In the Positioned Layout Module this will be defined more precisely in terms of placeholders.</span></p>
693
697
694
-
<pclass='note'>The purpose of this somewhat convoluted definition is to position the marker flush against its list item, and then when "marker-attachment:list-container", 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.</p>
698
+
<p>The marker's position in the <i>ancestor list item's</i> inline axis must be set such that the <i>marker positioning edge</i> is flush with the <i>list item positioning edge</i>.</p>
695
699
696
-
<pclass='issue'>This handles ltr/rtl mixed-direction text, but not mixed
697
-
horizontal and vertical text. For example, if the <i>ancestor list container</i>
698
-
is vertical but the <i>ancestor list item</i> is horizontal, this definition
699
-
is nonsensical, as it requires a vertical edge of the marker to be flush
700
-
against a horizontal edge of the <i>ancestor list item</i>. Need to think
701
-
on what UI would be acceptable for such a crazy case, and how to state it
702
-
in non-crazy terms.</p>
700
+
<pclass='note'>The purpose of this somewhat convoluted definition is to position the marker flush against its list item, and then when "marker-attachment:list-container", 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. And on top of all that, do something sane in the face of potentially differing writing-modes on the marker, list item, and container.</p>
703
701
704
702
<p>All elements or pseudo-elements with <codeclass=css>"position:marker"</code> that share a common <i>ancestor list item</i> are known as <dfntitle='associated-marker'>markers associated with that list item</dfn>.</p>
0 commit comments