Re: One more list-item thought

On 15 Sep 2003 at 13:32, Ian Hickson wrote:
> Ok, in order to exactly understand your proposal, could you write out the
> _exact_ definition, taking into account all the other features currently
> discussed in the generated content module, for the rules to get the
> computed value of the 'content' property when it is set to 'normal' on a
> ::marker pseudo-element?

Thanks for the compliment, but I think you are vastly overestimating 
my understanding of the subject, and i am not an native English 
speaker as you have seen by now :). Just to try and figure out how 
something like that might work here is a first try on some not quite 
exact definitions.

http://www.w3.org/TR/2003/WD-css3-content-20030514/#content
(normal)
...(can the notes stay like they currently are?)

"Otherwise , for '::marker', 'normal' computes to the computed value 
of 'list-style-image' if this value is not 'none', otherwise 'counter 
(list-item, <list-style-type>) "suffix"' where <list-style-type> is 
the computed value of the 'list-style-type' property if that property 
is not 'none' and suffix is the suffix appropriate for that list 
style type, otherwise 'inhibit'."

That is, exactly the same as the current wording but without the 
display: list-item on superior parent restriction. I dont really 
think that the main issue of the change is the normal value of 
content however, but the vast change to lists. The above should be 
defined in the suggested default style sheet for clarity:
li::marker {content: normal} /* Perhaps even broken up into separate 
parts?*/

Currently a block ::marker is generated when the superior parent is 
display: list-item. It would need to be generated always and i think 
calling them "block" markers is missleading if their usage is 
modified. I dont know how their current usage for notes affects lists 
so below i assume they do not.

To stop ::markers from appearing without a definition the 'content' 
property needs to default to 'inhibit' for those ::markers like it 
does for ::line-marker etc.

In css3-lists(but more properly worded and probably with less focus 
on display):
http://www.w3.org/TR/2002/WD-css3-lists-20021107/#declaring
"To declare a list item, a ::marker pseudo-element must be declared 
and the ::markers 'content' property must have a value other than 
'inhibit'. 

To have all of the below properties applicable the ::marker should be 
used on an element that has 'display' set to 'list-item'. 
Independently of how the element with the ::marker pseudo-element is 
displayed, such an element increases the special counter list-item 
(which does not affect the specified or computed values of the 
counter properties), and it is the existance of content in the  
::marker pseudo-element that makes the below list properties 
applicable to an element. Note that an element that has 'display' set 
to 'none' overrides the above and has no ::marker and thus does not 
increment the list-item counter."
(I'm not sure i got the affects parenthesised thing right?).

The above would of course have severe effects on lots of other parts 
of the recs, like for instance all applies to fields in the list 
properties or what a ::marker pseudo-element generates in terms of 
the box-tree. I'm not sure the replaced element suggestion is good 
enough, so here is a thought on that as well.

http://www.w3.org/TR/2002/WD-css3-lists-20021107/#markers
"A marker box is generated when the ::marker pseudo-element of an 
element has a 'content' property which computes to a value other than 
'inhibit'. 

For elements that have the 'display' property set to 'list-item' and 
which have 'list-style-position' set to 'outside', the marker box is 
positioned outside the principal box generated by the element. 
Otherwise, the marker box is considered a replaced inline element.

<<A description of how to generate the contents of the marker box 
perhaps? Eg overflow restriction and possible others.>>

The rest of this section discusses the details on 'outside' 
positioning of a marker box."

I think the above would create somewhat better list capabilities in 
CSS, making the use cases we have discussed in this thread easy to 
write. However, shifting from display: list-item to ::marker as the 
list incrementor etc may be a to bold change since it may not be 
obvious enough to authors. 
 
Thanks for taking the time to answer me on this. I don't think i 
should pursue this any further if you dont like the idea, but it was 
helpful for me to discuss this with you.

 /Staffan

Received on Tuesday, 16 September 2003 06:31:12 UTC