- From: Tantek Celik <tantek@cs.stanford.edu>
- Date: Tue, 13 Jun 2000 14:47:46 -0700
- To: Ian Hickson <py8ieh=mozilla@bath.ac.uk>, "www-style" <www-style@w3.org>
- CC: Robert Stevahn <rstevahn@boi.hp.com>, glazou_2000@yahoo.fr
From: Ian Hickson <py8ieh=mozilla@bath.ac.uk> Date: Tue, Jun 13, 2000, 1:45 PM <snip> > All fine and good so far. However, if you have the nested list as the > first node of the outer list, you end up with this: > > Document: > > <ol> > <li> > <ol> > <li> > <p>bar</p> > </li> > </ol> > </li> > </ol> > > > Frame construction: > > +<ol>--------------------------------------+ > | +<li>----------------------------+ | > | | +<ol>------------------------+ | | > | | | +<li>--------------+ | | | > | +---+ | | +---+ | +<p>-----------+ | | | | > | | 1 | | | | 1 | | | bar | | | | | > | +---+ | | +---+ | +--------------+ | | | | > | | | +------------------+ | | | > | | +----------------------------+ | | > | +--------------------------------+ | > +------------------------------------------+ > > > Rendering: > > 1 1 bar FWIW, this is how IE5/Mac renders the above markup. Actually, with periods after the numbers, more like this: 1. 1. bar > This is, I am told, against standard publishing practices, and > apparently "anyone in the publishing industry would faint if they saw > multiple list symbols on the same line." There is a quite a bit of stuff in HTML/CSS which is against standard publishing practices - standard publishers are only one of the customers of HTML and CSS. > So to be good publishers, what we want for the second case is: > > Frame construction: > > +<ol>--------------------------------------+ > | +<li>----------------------------+ | > | +---+ | .............................. | | > | | 1 | | : (anonymous empty inline) : | | > | +---+ | :............................: | | > | | | | > | | +<ol>------------------------+ | | > | | | +<li>--------------+ | | | > | | | +---+ | +<p>-----------+ | | | | > | | | | 1 | | | bar | | | | | > | | | +---+ | +--------------+ | | | | > | | | +------------------+ | | | > | | +----------------------------+ | | > | +--------------------------------+ | > +------------------------------------------+ > > > Rendering: > > 1 > > 1 bar > > > So. How can we reconcile the CSS2 specs with standard publishing > practice? > > Padding and margins won't cut it (because the book says: > > # For the :before pseudo-element, the baseline in the marker box will > # be vertically aligned with the baseline in the first line box of the > # principal box. If the principal box contains no line boxes, or if > # there is a block box within the principal box that is above the > # first line box, the top outer edge of the marker box will be aligned > # with the top outer edge of the principal box. > -- CSS2, 12:6:1 > > ...so it matters not how much padding you use, the marker box will > just move down with the text). > > Also, we can't simply add empty content using :before, since the > marker itself is the :before pseudo-element. Interesting - perhaps this example illustrates the separate need for a ":marker" pseudo-element which you could place on any element, instead of the ":before {display:marker}" hackery. Then you could use :before to add the line-feed (like the informative default rule for <br>). > Therefore, it would seem that we need a rule which will place an > anonymous empty inline box as the first child of any element which has > a generated marker box, if any of the elements between the element > with the marker box and the first descendant line box of that element > have a generated marker box. > > This probably needs to be a property (say, 'adjacent-markers' with > values "allow || never || inherit" or something, inherited and with > the initial value "allow"). > > Are there any other possibilities? Perhaps the :marker selector (as referenced above). Either way, this looks like a good issue to be raised for the CSS3 Generated Content / Markers / Lists module, and perhaps for the CSS3 Selectors module (editors cc'd). References: http://www.w3.org/TR/css3-roadmap http://www.w3.org/TR/css3-selectors Tantek ---------------------------------------------------------------------------- I didn't come here to tell you how it's going to end. microsoft.com/mac/ie/
Received on Tuesday, 13 June 2000 17:48:36 UTC