Subject: style!

From: "H&kon W Lie" <[email-masked]>
Date: Fri, 19 May 1995 04:15:36 +0500

Even without a formal announcement, the number of subscribers to
www-style keep growing. Welcome! 

If you're new to the field, please check the Style Sheet source page
(http://www.w3.org/hypertext/WWW/Style). I has been updated with some
new references, and is now linked to a style sheet through a 

  <LINK REL=STYLE HREF=style.css>

in the header. You'll need arena or emacs-w3 to see it, though. 

I put a new release of Arena (version 0.97c,
http://www.w3.org/hypertext/WWW/Arena/0.97) out today. It's not
stable, but will do for stylesheet hacking. While coding, a couple
of issues that I didn't resolve intuitively came up. I've described
one of them below. Input is welcome.

-h&kon

Hakon W Lie, WWW project CERN, CH-1211 Geneva 23
http://www.w3.org/hypertext/WWW/People/howcome/

DOCUMENT-WIDE STYLE SETTINGS

Most style hints will be attached to a single or a small group of HTML
elements, e.g.:

H1, H2: font.family = helvetica

However, one also want to allow the style sheet writer to easily
address _all_ elements. One possibility is to use wildcards for this:

*: font.family = times

Another possibility is to let properties be inherited. E.g., since all
elements in an HTML document are surrounded by <HTML> .. </HTML>, one
could do:

HTML: font.family = times

This solution has some problems. First, not all HTML authors put in
<HTML>..</HTML>. Secondly, HTML is a rather flat language, and many
people don't think in terms of containers and inheritance. Perhaps
they should, but that's a different matter. So, let's stick to the
wildcard solution for now.

In addition, and here the problems start for me, a style sheet sould
be able to specify properties that don't necessarily fall well into
the scheme above, e.g.:

 - the outer margin of a document
 - the width of the browser window 
 - the font size of the HTML source view

One way to solve this problem would be to introduce "dummy elements"
that only exists in the style sheet notation, e.g.:

doc: margin.left = 20pt
window: width = 500px
source: font.size = 14pt

The problem with this solution is <DOC> or <SOURCE> may appear as real
HTML tags one day and the style sheet language will become ambiguous. 

If anyone has a clear vision of how one can get out of this with an
intuitive notation in place, please let me know!