RE: CSS1, new draft specification

Chris Wilson (cwilso@microsoft.com)
Fri, 29 Dec 1995 09:16:24 -0800


Rainer Klute wrote:
>Chris Wilson wrote:
>>...I vote to keep the $CANVAS notation from the last draft.
>
>Each HTML document has a BODY, explicitly or implicitly. It is just
>that authors can leave out the BODY start and end tags (thanks to
>SGML's OMITTAG feature), but that doesn't mean that there is no
>BODY. Perhaps you just can't see it, but your SGML parser can. And
>browsers do use an SGML parser, don't they? :-)

Heh. Well, a number of them that I've worked on are based on the
CERN libWWW library's "SGML parser", which at those drop points at
least did not have support for OMITTAG. I didn't mean to imply
those documents don't have a body - just not a <BODY>. This has to
be dealt with anyway for <HTML>, according to the CSS spec, but I'd
like to keep from having to require OMITTAG support for CSS. Every
other element selector (other than <HTML>) is on structural elements
that _occur_in_the_text_ (that is, concrete as opposed to implied
by OMITTAG).

And, obviously, (although I know you were joking :^), most browsers
DON'T use a "real" SGML parser. It is one of my goals to never suggest
anything that breaks SGML - but keep in mind we're trying to get all
those browser vendors without real SGML parsers to support CSS.

$CANVAS just seemed like a really clean place for an HTML author or
viewer to be able to say, "I want blue text on a beige background for
everything." Perhaps that's primarily because the language in the CSS
spec is a little labored and unclear; in particular, it specifically
states "In order to set a 'default' style property, one should use 'HTML'
as a selector," then goes on to say, "To address the canvas... one should
set properties on the element which has 'width' and 'height' set to
'from-canvas'. In HTML the 'BODY' element is given this role." This
seems like a completely unnecessary duplication. If $CANVAS is to be
removed, I would suggest leaving in the language about using the HTML
element to address the entire document, and removing the language in
"Addressing the canvas" section referring to the <BODY> (or changing it
to repeat the <HTML> statement).

-Chris