- 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
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 UTC