- From: <staffan.mahlen@comhem.se>
- Date: Sun, 14 Sep 2003 10:18:17 +0200
- To: Ian Hickson <ian@hixie.ch>
- Cc: "www-style@w3.org" <www-style@w3.org>
On 13 Sep 2003 at 19:21, Ian Hickson wrote:
> You wouldn't use ::marker for inline lists, unless we are talking
> inline-block lists, in which case you would use inline-list-item or some
> such.
Yes, but could it not be useful to change the way of handling it?
(please note that i am really not sure myself).
What i am thinking is that possibly the display: list-item way of
defining it makes for to big a separation from the ::before way of
doing lists, but they are basically the same concept. The display:
list-item currently implies lots of things that could possibly be
better defined elsewhere, and that seem to not really be "display"
type of implications. I do agree that my suggestion may not be the
best solution though and i am not really up to speed on counters and
before/after.
I believe that since CSS does take "ownership" of list item values
from the content language, it should do so in a way which does not
require a specific rendering of the list, or a separate way of
creating the list. For instance, if ::before and ::after along with
counters are required to create an inline list, they should possibly
be used in the default style sheet to create the regular rendered
list? However, since ::marker only exists for display: list-item
elements, i suppose you could not modify such default style easily to
make it inline? (Hmm, a style-sheet-property-value selector anyone?!?
:)
The above may all be nitpicking and is not a big issue in actual
usage, but it think it would be neat if things were defined so that
li {display: inline}
would "just work" and render as an inline list with the appropriate
"indicator" before each item.
> That's already possible, just say
> h1 { display: list-item; }
...
> > As a side note, would it be useful to add body to the below suggested
> > default to capture list-item featured elements that are rendered as
> > list items but are not in content an actual list-item in a list ( eg,
> > h1 {display: list-item})?
> >
> > ol, ul { counter-reset: list-item; }
>
> It's implied by the root element.
>
I suppose that depends on what you mean by the rule. To make myself
more clear test the following in your browsers of choise:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Display: list-item test</title>
<style type="text/css">
h2 {display: list-item}
</style>
</head>
<body>
<h2>First</h2>
<h2>Second</h2>
<ol>
<li>Text
<h2>Third</h2>
<h2>Fourth</h2>
</li>
</ol>
</body>
</html>
Perhaps a stronger implication could be useful. I think this example
also possibly shows that there may be issues in what different
browsers see as "list-container" (some seem to do implicit counter-
resets, perhaps when inside li?) when using display: list-item.
As yet another side note i noticed that CSS2.1 states:
(http://www.w3.org/TR/CSS21/visuren.html#propdef-display)
"list-item
This value causes an element (e.g., LI in HTML) to generate a
principal block box and a list-item inline box. "
I am not sure that "list-item inline box" is a good way of wording
it.
/Staffan
Received on Sunday, 14 September 2003 04:18:23 UTC