W3C home > Mailing lists > Public > public-css-commits@w3.org > March 2011

csswg/css3-lists Overview.src.html,1.31,1.32

From: Tab Atkins Jr.. via cvs-syncmail <cvsmail@w3.org>
Date: Wed, 16 Mar 2011 17:08:32 +0000
To: public-css-commits@w3.org
Message-Id: <E1PzuD2-00018q-Uv@lionel-hutz.w3.org>
Update of /sources/public/csswg/css3-lists
In directory hutz:/tmp/cvs-serv4326

Modified Files:
	Overview.src.html 
Log Message:
Rewrote the meaning of 'hanging' and 'outside', and adjusted the ::marker definition to fit.


Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/css3-lists/Overview.src.html,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- Overview.src.html	16 Mar 2011 00:47:24 -0000	1.31
+++ Overview.src.html	16 Mar 2011 17:08:30 -0000	1.32
@@ -792,55 +792,27 @@
 		participates in the inline box model in the normal manner.</dd>
 
 		<dt><dfn>hanging</dfn></dt>
-		<dd>As ''inside'', except the marker is absolutely positioned (see the section
-		on ''::marker'' for more details.)  The marker's static position is such that 
-		its "before" edge is aligned with the "before" edge of the first line box 
-		in the list item, and its "end" edge is flush with the "start" edge of the 
-		first line box in the list item.  
-		<span class=note>Note that this causes the marker to still respond to the
-		'text-align' property, as the boundaries of line boxes depend on 'text-align'.</span></dd>
+		<dd>As ''inside'', except the marker is absolutely positioned.  The marker's 
+		static position is such that its baseline is aligned with the baseline
+		of the first line box in the list item, and its "end" edge is flush with 
+		the "start" edge of the first line box in the list item.  
+		<span class=note>Note that, per the Positioned Layout spec, absolutely positioned
+		boxes leave behind a 'placeholder' in their original position in the box tree, 
+		which may have an effect on line-box generation.</span></dd>
 
 		<dt><dfn>outside</dfn></dt>
-		<dd>As ''inside'', except the marker is absolutely positioned (see the section
-		on ''::marker'' for more details.)  The marker's static position is such that 
-		its "before" edge is aligned with the "before" edge of the list item.  If 
-		the list item's parent box is ltr, the marker's "end" edge must be flush 
-		with the list item's "start" edge; if the list item's parent box is rtl, 
-		the marker's "start" edge must be flush with the list item's "end" edge.</dd>
+		<dd>As ''inside'', except the marker is absolutely positioned and has the same
+		directionality as the list item's parent box.   The marker's static position is such that 
+		its "over" edge is flush with the edge of the list item corresponding with
+		the "over" edge of the list item's parent box, and it's "end" edge is 
+		flush with the edge fo the list item corresponding to the "start" edge of the
+		list item's parent box.</dd>
 	</dl>
 
-	<div class=issue>
-		<p>''hanging'' is meant to emulate what some browsers (IE8, Firefox, Opera)
-		did for the CSS2.1 "outside" value, with somewhat more detail.</p>
-
-		<p>''outside'' is meant to emulate what other browsers (Webkit, IE9) did for
-		the CSS2.1 "outside" value, again with more detail.  There is a notable behavior
-		change, in that the markers pay attention to the container's direction, not
-		the list item.  This arose from the "Requirements for bidi in HTML" group's
-		conclusions - in a mixed-direction list, right now it's impossible to determine 
-		ahead of time which side of the container the gutter should go (to contain the
-		bullet).  You have to put a gutter on both sides, even if all the items are
-		one direction, just in case.</p>
-
-		<p>I'm not sure exactly how to express what I want with the "out-of-flow" comment
-		in ''hanging'' and ''outside''.  I want to change how it's positioned, but 
-		without invoking the "positioned element" machinery.  Is that good/possible?
-		I also don't want to interfere with the author actually setting 'position' on
-		''::marker''.  All this, and the ''::marker'' should still be a child of the
-		list item in the box tree (otherwise the behavior is surprising).</p>
-
-		<p>How should I define "first line box" for ''hanging''?  The marker is intended
-		to be "magically positioned" - does this invoke the same logic that Positioned
-		Layout defines, where it leaves behind an inline placeholder that will generate
-		a line box?  If not, do I descend into children to find the first linebox?
-		If I do that, there's the possibility of conflict, if a list item contains a 
-		list item, and both of their markers position off of the same linebox.  The 
-		consequences of this are well-defined, but is that okay?  I get 3 different
-		behaviors out of the 3 hanging-like browsers.</p>
-	</div>
+	<p class=issue>Are the positioning rules for ''hanging'' and ''outside'' good?</p>
 
 	<p>Note that a marker is only generated if the computed value of the 'content' 
-	property for the element's ''::marker'' pseudo-element is not ''inhibit''.</p>
+	property for the element's ''::marker'' pseudo-element is not ''none''.</p>
 
 	<div class=example>
 		<p>For example:
@@ -1007,7 +979,9 @@
 	are placed at the beginning of their superior parent's content, immediately before
 	a ''::before'' pseudo-element on the same superior parent.  Marker boxes are 
 	inline-block by default, and so a value of ''auto'' for 'width'
-	resolves to the width of the marker's content.</p>
+	resolves to the width of the marker's content.  The value of 'list-style-position'
+	on the marker's superior parent can vary the marker's directionality and the
+	initial value of its ''position'' property.</p>
 
 	<div class="html-example">
 		<p>In the following example, the content is centered within a marker
@@ -1623,7 +1597,7 @@
 ol, ul { 
 	display: block; 
 	margin: 1em 0; 
-	padding-left: 2.5em; 
+	padding-left: 40px; 
 }
  
 ol ol, ol ul, ul ul, ul ol { 
@@ -1636,9 +1610,10 @@
 }
  
 li::marker { 
-	margin-right: 1em; 
-	text-align: right;
-	/* 'display', 'position', and 'text-align' implied by list-style-position */
+	display: inline-block;
+	margin-right: 1em;
+	text-align: end;
+	/* 'position' implied by list-style-position */
 }
 	</pre>
 
Received on Wednesday, 16 March 2011 17:08:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 16 March 2011 17:08:35 GMT