Re: draft-ietf-html-style-00.txt

Bert Bos (
Wed, 6 Dec 1995 19:56:00 +0100

Michael Hannah wants three things:

1. Merge <C> and <SPAN>

2. No style properties in attributes (STYLE="...")

3. Symbolic names for styles, but more powerful than CLASS and CSS1
currently provide

(1) is just an oversight, it will be fixed.

The argument for (2) is that it leads to bad design. It may also be a
little bit less efficient for future sophisticated browsers. But some
people want this facility, so I guess we just have to accept this in

But for (3) there is a solution. In fact, in some of the earlier CSS1
drafts this was already possible. However, the syntax for doing it was
ambiguous, and some people objected to that. (The parser couldn't
distinguish between a class name and an element name).

But we can resurrect the functionality (to which there is little
objection, as far as I can see), without the ambiguity:

If the document contains this:

<p class="scream shout">
This should be a very conspicuous paragraph...</p>
<blockquote class="scream">
This is better...</blockquote>

and the style sheet contains this:

.scream { font-size = x-large; margin-left = 3em }
.shout { background = yellow }

then the paragraph will be on yellow, in an extra large font with a
3em left margin. The quote will also be extra large with the same
margin, but not on yellow.

It's a very small change from the latest CSS1 draft[1], which only

* P.scream { font-size = x-large; margin-left = 3em }

You still can't do <P CLASS=H1> and have it rendered as if the P was a
H1. However, you can do <P CLASS=H1> and <H1 CLASS=H1> and write a
single rule for both.


PS. (for implementers only): since the name space for classes is very
large, you can't create a perfect hash anymore, like you could for
HTML tags. I don't see this as a problem.


  Bert Bos                                ( W 3 C )                                  INRIA project RODEO/W3C   2004 Rt des Lucioles / BP 93
  +33 93 65 77 71                 06902 Sophia Antipolis Cedex, France