Re: list-item alignment in CSS
Todd Fahrner wrote:
> As long as we're still in the realm of interpretation, and in the
> absence of any implementations setting precedent, does it not make
> sense to promote the most useful interpretation rather than propose
> outright amendments to the recommendation ('cept for fixing up some
> obviously erroneous ascii-art)? - I mean, alignment is just style,
> not content, right? ;^)
Right! Hello, Authoritative? Commentary needed!
> Let me get this straight: in your interpretation of the spec, in the
> case of a list item with every available white-space property set to
> 0 (with no inherited margin), and the list-style set to "outside",
> there should still be a phantom left-margin on the list-item block,
> and the marker would touch the canvas edge? In the case of ordered
> lists, as the marker width changed for extra characters, the phantom
> margin would change as well? How much phantom-margin is sufficient to
> deal with arbitrarily wide markers; e.g., in the case of an ordered
> list that went from I-XVIII?
Isn't this the way things are now? MSIE and NSN each have their own
method of determining the indent of content when the list position is
"outside" -- authors currently have no control via CSS. As implemented
in MSIE 3.02, margin-left on LI affects the list-marker, and content
moves relatively. When the marker/number is wider than the indent of
the content, the first line of the content is indented more.
An impediment to your solution is the 'list-position' property itself.
If the indent of content is determined by LI margin-left, what would it
mean to give LI a margin-left of 0 and a list-position of "outside"?
IMO, the simplest way to give author control of list content indent is
to add units to list-position values. "Outside" means "browser, do your
thing!", "inside" means 0, and units mean "block-indent the content by
this much." A more general solution is to add block-indent and :before
to the spec, and say that list-position is just another way of
specifying block-indent and that list-style-type is a way to specify
content of an implicit :before pseudo-element.
> Has there been any discussion or detailed specification on how lists
> (or normal block-level elements) should be rendered when their
> display type is set to "inline"?
More authoritative commentary needed.