- From: Tab Atkins Jr.. via cvs-syncmail <cvsmail@w3.org>
- Date: Sat, 09 Jul 2011 01:18:27 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-lists
In directory hutz:/tmp/cvs-serv18875
Modified Files:
Overview.html Overview.src.html
Log Message:
Fixed up the -position:outside and position:marker sections. If I just copy IE, it's so simple!
Index: Overview.html
===================================================================
RCS file: /sources/public/csswg/css3-lists/Overview.html,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- Overview.html 30 Jun 2011 23:13:30 -0000 1.65
+++ Overview.html 9 Jul 2011 01:18:25 -0000 1.66
@@ -25,12 +25,12 @@
<h1>CSS Lists and Counters Module Level 3</h1>
- <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 30 June 2011</h2>
+ <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 9 July 2011</h2>
<dl>
<dt>This version:
- <dd><!--<a href="http://www.w3.org/TR/2011/WD-css3-lists-20110630">http://www.w3.org/TR/2011/WD-css3-lists-20110630</a></dd>-->
+ <dd><!--<a href="http://www.w3.org/TR/2011/WD-css3-lists-20110709">http://www.w3.org/TR/2011/WD-css3-lists-20110709</a></dd>-->
<a
href="http://dev.w3.org/csswg/css3-lists/">http://dev.w3.org/csswg/css3-lists/</a>
@@ -652,26 +652,15 @@
‘<code class=css>::marker</code>’ pseudo-element in this
state, and this ‘<code class=css>::marker</code>’ box
participates in the inline box model in the normal manner.
- <p class=issue>Inline markers have some special behavior wrt white-space
- collapsing at the beginning of the list-item. Is this behavior necessary
- for web-compat, or can I just spec it away? (Since I have outside
- markers basically be abspos, it doesn't apply to them.)
<dt><dfn id=outside>outside</dfn>
<dd>As ‘<a href="#inside"><code class=css>inside</code></a>’,
- except the ::marker pseudo-element is placed immediately before the first
- text or significant whitespace in the <a href="#list-item"><i>list
- item</i></a> or its descendants. As well, the computed value of
- ‘<code class=property>position</code>’ on the ::marker
- pseudo-element is ‘<code class=css>marker</code>’. The
- section on the new ‘<code class=property>marker</code>’ value
- for ‘<code class=property>position</code>’ explains the
- consequences of this.
- <p class=issue>I haven't yet defined what happens when the list item
- doesn't contain any text, or when the first text is within a child
- list-item. I need to figure out how much of current implementations is
- accidental and how much is necessary.
+ plus the computed value of ‘<code
+ class=property>position</code>’ on the ::marker pseudo-element is
+ ‘<code class=css>marker</code>’. The section on the new
+ ‘<code class=property>marker</code>’ value for ‘<code
+ class=property>position</code>’ explains the consequences of this.
</dl>
<p>Note that a marker is only generated if the computed value of the
@@ -895,11 +884,8 @@
<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 (the exact location depends on the value of ‘<a
- href="#list-style-position"><code
- class=property>list-style-position</code></a>’ on the list item, as
- explained in the definition of that property). Marker boxes are inline by
- default, though certain values for ‘<a
+ parent's content, before the ::before pseudo-element (if it exists).
+ Marker boxes are inline by default, though certain values for ‘<a
href="#list-style-position"><code
class=property>list-style-position</code></a>’ on the list item can
make the marker box positioned, which can have an effect on the computed
@@ -1171,10 +1157,12 @@
</table>
<p>The ‘<code class=css>marker</code>’ value for ‘<code
- class=property>position</code>’ depends on the box it is set on
- having a list item ancestor. If there is no list item ancestor, this value
- must be treated identically to ‘<code
- class=css>position:relative</code>’.
+ class=property>position</code>’ depends on the element it is set on
+ having a list item ancestor. If the specified value of ‘<code
+ class=property>position</code>’ is ‘<code
+ class=css>marker</code>’ and the element does not have a list-item
+ ancestor, ‘<code class=property>position</code>’ must compute
+ to ‘<code class=property>relative</code>’ on the element.
<p>The box's vertical position is calculated according to the <a
href="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">normal
@@ -1185,17 +1173,18 @@
nearest list item ancestor as the <dfn id=ancestor-list-item>ancestor list
item</dfn>, and the parent of that box as the <dfn
id=ancestor-list-container>ancestor list container</dfn>. The box's
- horizontal position must then be set such that the edge of the box
+ horizontal position must then be set such that the margin edge of the box
corresponding to the "end" edge of the <a
href="#ancestor-list-container"><i>ancestor list container</i></a> is
- flush with the edge of the <a href="#ancestor-list-item"><i>ancestor list
- item</i></a> corresponding to the "start" edge of the <a
- href="#ancestor-list-container"><i>ancestor list container</i></a>. <span
- class=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>
+ flush with the border edge of the <a
+ href="#ancestor-list-item"><i>ancestor list item</i></a> corresponding to
+ the "start" edge of the <a href="#ancestor-list-container"><i>ancestor
+ list container</i></a>. <span class=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 class=issue>This handles ltr/rtl mixed-direction text, but not mixed
horizontal and vertical text. For example, if the <a
Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/css3-lists/Overview.src.html,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -d -r1.114 -r1.115
--- Overview.src.html 30 Jun 2011 23:13:30 -0000 1.114
+++ Overview.src.html 9 Jul 2011 01:18:25 -0000 1.115
@@ -329,27 +329,10 @@
<dl>
<dt><dfn>inside</dfn></dt>
- <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.
- <p class=issue>Inline markers have some special behavior wrt white-space
- collapsing at the beginning of the list-item. Is this behavior necessary for web-compat,
- or can I just spec it away? (Since I have outside markers basically be abspos, it
- doesn't apply to them.)</p></dd>
+ <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>
<dt><dfn>outside</dfn></dt>
- <dd>As ''inside'', except the ::marker pseudo-element is placed
- immediately before the first text or significant whitespace in the
- <i>list item</i> or its descendants. As well, 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.
- <p class=issue>I haven't yet defined what happens when the list item doesn't contain
- any text, or when the first text is within a child list-item. I need to figure out how much
- of current implementations is accidental and how much is necessary.</p></dd>
+ <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>
</dl>
<p>Note that a marker is only generated if the computed value of the 'content'
@@ -521,14 +504,7 @@
the computed value of the 'content' property for the pseudo-element is not
''none''.</p>
- <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 (the exact
- location depends on the value of 'list-style-position' on the list item, as
- explained in the definition of that property). 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>
+ <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>
<div class="html-example">
<p>In the following example, the content is centered within a marker
@@ -679,13 +655,7 @@
<li>Otherwise, if the computed value of 'list-style-type' is a string, then
the computed value of the 'content' property is that string.</li>
- <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 <i title='counter-prefix'>prefix</i> and <i title='counter-suffix'>suffix</i>
- descriptors for the counter style with that name.</li>
+ <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 <i title='counter-prefix'>prefix</i> and <i title='counter-suffix'>suffix</i> descriptors for the counter style with that name.</li>
<li>Otherwise the computed value is ''none''.</li>
</ol>
@@ -759,27 +729,14 @@
</tbody>
</table>
- <p>The ''marker'' value for 'position' depends on the box it is set on
- having a list item ancestor. If there is no list item ancestor, this value
- must be treated identically to ''position:relative''.</p>
+ <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>
<p>The box's vertical position is calculated according to the
<a href="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">normal flow</a>.
<span class='note'>In the Positioned Layout Module this will be defined
more precisely in terms of placeholders.</span></p>
- <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 edge of the box corresponding to the
- "end" edge of the <i>ancestor list container</i> is flush with the edge of
- the <i>ancestor list item</i> corresponding to the "start" edge of the
- <i>ancestor list container</i>. <span class='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>
+ <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>. <span class='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>
<p class='issue'>This handles ltr/rtl mixed-direction text, but not mixed
horizontal and vertical text. For example, if the <i>ancestor list container</i>
Received on Saturday, 9 July 2011 01:18:35 UTC