- From: Matthew Brealey <webmaster@richinstyle.com>
- Date: Tue, 20 Jun 2000 11:29:34 -0700
- To: www-style@w3.org
- CC: Ian Hickson <py8ieh=mozilla@bath.ac.uk>
Ian Hickson wrote: > 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 | | | | | > | | | +---+ | +--------------+ | | | | x> | | | +------------------+ | | | > | | +----------------------------+ | | > | +--------------------------------+ | > +------------------------------------------+ > > Rendering: > > 1 > > 1 bar I disagree very strongly. MSIE for Windows will render <?l> <li> <?l> <li> </?l> </?l> in the manner described, which is very ugly IMHO (not to mention wrong): 1. a. Another interesting case is: <style type="text/css"> /* Implied: OL {list-style: decimal} */ OL OL {list-style: lower-alpha /* Rests lsp: inside as well (in theory!) */} </style> <ol style="list-style-position: inside"> <li> <ol> <li>Hello </ol> </ol> +-------+ a |1 Hello| +-------+ Or, even worse: <style type="text/css"> UL OL {list-style: decimal /* Rests lsp: inside as well (in theory!) */} </style> <ul style="list-style-position: inside"> <li> <ol> <li>Hello <li>Hello </ol> </ul> +-------+ 1 |* Hello| +-------+ +-------+ 2 | Hello | +-------+ Also fun: <ul style="list-style-position: inside"> <li> <ul> <li>Hello </ul></ul> +---------+ |* * Hello| +---------+ (yes, that's right: two marker glyphs) [This all rests on: 'inside The marker box is the first inline box in the principal block box, after which the element's content flows.' Incidentally I don't think this is right: are inside boxes really 'marker boxes' (in the precise sense of the term)? No. More fundamentally, it is not the case that 'it is the first inline box in the principal block box, after which the element's content flows.' This would, for example, cause the following behaviour: <li> <p> Hello <li> 1 Hello The statement instead should be: 'inside The list marker is placed as the first inline box in the first formatted line box in the principal block box, after which the element's content flows (subject to an optional (conceptual) margin-right on the inline box).' This corrected definition explicates the (only) distinction between display: list-item; list-style: inside and :before {content: counter(counter)}; markers are associated with the first line box, whereas :before is associated with the element. And has anyone noticed this one before: P { margin-left: 12 em; }? ----------------------------------- Please visit http://RichInStyle.com. Featuring: MySite: customizable styles. AlwaysWork style Browser bug table covering all CSS2 with links to descriptions. Lists of > 1000 browser bugs Websafe Colorizer CSS2, CSS1 and HTML4 tutorials. CSS masterclass CSS2 test suite: 5000++ tests and 300+ test pages.
Received on Tuesday, 20 June 2000 06:23:07 UTC