Re: [css3-lists] Alignment of list markers

On Jun 8, 2011, at 12:28 AM, Tab Atkins Jr. wrote:

> On Tue, Jun 7, 2011 at 11:55 PM, Brad Kemper <brad.kemper@gmail.com> wrote:
>> On Jun 6, 2011, at 11:43 PM, fantasai <fantasai.lists@inkedblade.net> wrote:
>> 
>>> I think we should make it clear if/how 'vertical-align' can be used to position list markers.
>> 
>> Supposedly all properties are fair game.
> 
> Indeed.  'inside' list markers are just inline-block elements, and
> respond as normal.  'outside' list markers are absolutely positioned,
> but they base some of their positioning off of the position of their
> placeholder, which is an inline element in the list item's contents.
> 
>>> I'm strongly in favor of making it useful, and suggest that the marker be positioned as if
>>> it were an inline-level child of the root inline on the line box it's associated with.
>> 
>> I would expect it to be 'display:inline; vertical-align:inherit' as initial values (which can be overridden by author). and it should be at the same embedding level as any other inline child, similar to '::before'. Thus baseline alignment still works regardless of what else might be on the first line, right? Or the author could change to 'vertical-align: top' or whatever, if he wished.
>> 
>> Of course, I am assuming 'position: static' unless changed by author in a ::marker rule. I don't know what to think if the marker was created via 'position:marker'. Is it still considered positioned after that, and is it then treated as 'display: block' so that vertical alignment can no longer be set? BTW, does it lose it's marker positioning if I set the 'position' to something else inside the ::marker rule, or is 'position' ignored there? I think that part is unnecessarily confusing. It makes things less clear in situations such as this.
> 
> I'd like to not do anything magical at all, and just let this work
> naturally by either positioning the marker itself (if 'inside') or
> positioning the placeholder (if 'outside').

Which part is magical? I'm trying to understand your concept. The default value for 'display' is 'inline' and the default value of 'position' is 'static'. 

You are saying that marker placement is the result of a new value of 'position' that causes it to ignore all other ways of selecting it (in the case of an explicit 'position:marker'), and only be styled by the new pseudo-class only, meanwhile causing it to change from 'display: inline' into 'display: inline-block'. That sounds pretty magical to me already, and we have to still nail down how the magic works. And what happens if I have '::marker { display:block; position:static; }'? I still haven't seen an answer to that one. Does it jump back into an inside position? Does it keep the 'display' value from ::marker, or does it now ignore ::marker and revert to only looking at normal (non-pseudo) selection rules?

Received on Wednesday, 8 June 2011 15:36:45 UTC