csswg/css3-lists Overview.html,1.65,1.66 Overview.src.html,1.114,1.115

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 @@
     &lsquo;<code class=css>::marker</code>&rsquo; pseudo-element in this
     state, and this &lsquo;<code class=css>::marker</code>&rsquo; 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 &lsquo;<a href="#inside"><code class=css>inside</code></a>&rsquo;,
-    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
-    &lsquo;<code class=property>position</code>&rsquo; on the ::marker
-    pseudo-element is &lsquo;<code class=css>marker</code>&rsquo;. The
-    section on the new &lsquo;<code class=property>marker</code>&rsquo; value
-    for &lsquo;<code class=property>position</code>&rsquo; 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 &lsquo;<code
+    class=property>position</code>&rsquo; on the ::marker pseudo-element is
+    &lsquo;<code class=css>marker</code>&rsquo;. The section on the new
+    &lsquo;<code class=property>marker</code>&rsquo; value for &lsquo;<code
+    class=property>position</code>&rsquo; 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 &lsquo;<a
-   href="#list-style-position"><code
-   class=property>list-style-position</code></a>&rsquo; on the list item, as
-   explained in the definition of that property). Marker boxes are inline by
-   default, though certain values for &lsquo;<a
+   parent's content, before the ::before pseudo-element (if it exists).
+   Marker boxes are inline by default, though certain values for &lsquo;<a
    href="#list-style-position"><code
    class=property>list-style-position</code></a>&rsquo; 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 &lsquo;<code class=css>marker</code>&rsquo; value for &lsquo;<code
-   class=property>position</code>&rsquo; 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 &lsquo;<code
-   class=css>position:relative</code>&rsquo;.
+   class=property>position</code>&rsquo; depends on the element it is set on
+   having a list item ancestor. If the specified value of &lsquo;<code
+   class=property>position</code>&rsquo; is &lsquo;<code
+   class=css>marker</code>&rsquo; and the element does not have a list-item
+   ancestor, &lsquo;<code class=property>position</code>&rsquo; must compute
+   to &lsquo;<code class=property>relative</code>&rsquo; 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>&lt;counter-prefix> counter(list-item, &lt;counter-name>) &lt;counter-suffix></code>, 
-		where <i>&lt;counter-name></i> is the computed value of the 'list-style-type' 
-		property and <i>&lt;counter-prefix></i> and <i>&lt;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>&lt;counter-prefix> counter(list-item, &lt;counter-name>) &lt;counter-suffix></code>, where <i>&lt;counter-name></i> is the computed value of the 'list-style-type' property and <i>&lt;counter-prefix></i> and <i>&lt;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