Re: [css3-lists] Published as WD!

On 3/07/2011 7:40 PM, Anton Prowse wrote:
> Sorry for my late entry into this conversation! Nice work on the Lists
> module, Tab.
>
> The things that caught my attention on my initial complete read-throughs
> were already queried by Brad, as it happens:
>
> On 28/05/2011 01:36, Tab Atkins Jr. wrote:
>> On 27/05/2011 08:26, Brad Kemper wrote:
>>> On May 26, 2011, at 5:52 PM, Tab Atkins Jr. wrote:
>>>> On Thu, May 26, 2011 at 10:45 AM, Brad
>>>> Kemper<brad.kemper@gmail.com> wrote:
>
>>>> All properties apply to ::marker - it's basically equivalent to
>>>> ::before.
>
> Really? What happens to the properties that ordinarily influence
> position and flow, such as display, position, float, clear etc? Are they
> merely ignored? Because it sounds like 'list-style-position' wants to
> have complete control over positioning, and it's not possible eg to
> float or abspos a marker.


You can float or abspos generated content (ie. ::before). What Tab is 
saying is that ::marker is equivalent in behavior to ::before.



>>> Hmm. If it is always positioned, what happens if I declare ::marker
>>> { position: static; }? Does it become 'list-style-position:inside'?
>>> If nothing changes, because it is always positioned, then you
>>> should probably say so in the spec. For added clarity, if nothing
>>> else.
>> Yes, it essentially becomes 'inside', as that's the element-tree
>> position of the ::marker. The actual value of list-style-position
>> doesn't change, of course.
>
> I don't think I follow, but that's probably because I don't understand
> why 'position' would be honoured at all; see above.


See below.


> Also, from Section 6:
>
> # 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.
>
> Again, I don't understand the reference to the 'position' property (nor
> what is meant by "an element's initial value of its 'position' property").


It can be inside or outside. The initial value is the default value 
which is outside.


> (I won't comment on the "static position" discussion until I've
> understood this!)


http://www.w3.org/TR/2011/REC-CSS2-20110607/generate.html#propdef-list-style-position


Please view the below test with generated content where the later four 
examples (test2 to test5) have been floated and abspos'd which causes 
the generated content to behave as an inline-block. I presume that 
position static would behave as test1 (with the ::marker inside).


<!doctype html>

<style type="text/css">
   ul { border: 2px solid blue; }
   li { background: silver; margin-top: 5px; margin-bottom: 5px; }
   li[id] { list-style-type: none; }
   li::before { background: lime; }
   #test1::before { content: '\0023'; }
   #test2::before { position: absolute; content: '\0023'; }
   #test3::before { position: absolute; content: '\0023'; width: 1em; 
margin-left: -1em; }
   #test4::before { float: left; content: '\0023'; }
   #test5::before { float: left; content: '\0023'; width: 1em; 
margin-left: -1em; }
</style>

<ul>
   <li>list-item</li>
   <li id="test1">list-item</li>
   <li id="test2">list-item</li>
   <li id="test3">list-item</li>
   <li id="test4">list-item</li>
   <li id="test5">list-item</li>
</ul>



-- 
Alan Gresley
http://css-3d.org/
http://css-class.com/

Received on Sunday, 3 July 2011 13:56:34 UTC