STYLE attributes

Scott Bigham writes:

 > I just discovered something distressing in the latest style sheet draft:
 > <URL:http://www.w3.org/hypertext/WWW/Style/css/draft.html>:
 > | CSS rules can possibly also be included in HTML attributes:
 > |
 > |  <H1 STYLE="font-family: helvetica">Headline</A>
 > |  <P STYLE="font: 12pt helvetica bold">Paragraph</A>
 > Does this buy us anything that the combination of CLASS attributes and
 > <STYLE> elements doesn't?  I'm worried that this would eventually lead
 > to atrocities like:
 >     <P STYLE="font: 24pt times bold; align=center">Level-1 header</P>

First, yes, there is a new CSS draft document out (v5.0 dated 1
November). The version was put out right before the Style Sheet
workshop from which I'm slowly getting back to life.

The changes from 4 to 5 include:

 - equal sign replaced by colon in declarations

 - what was previously called "assignements" are now called

 - font-size and font-size-index have merged into one property

 - a scaling facton of 1.44 (instead of 1.2) is now suggested between
   adjacent font-size indexes

 - display-area is a new level 1 property

 - "bg-style" is a new propety that describes how the background image
   is to be laid out

Also, as Scott discovered, a STYLE attribute is used in one
example. However, this is an HTML issue and beyond the scope of the
CSS specification. It is only mentioned to show the applicability of
the CSS language. A document describing how to link HTML/SGML to style
sheets is in the works and should surface soon.

Currently, I'm working on incorporating more of the comments from this
is (especially from Evan) as well as the feedback from the
workshop. The document is likely to split into two: level 1 and level
2. The first of will be submitted as an I-D ASAP.

Changes that we are considering in level 1:

 - dropping context sensitivity: this will lower the threshold for
   implementors as well as keeping the syntax open. Lists can be
   discribed using a new-non-inherited property, list-style, that
   applies only to the children of the element:

     OL { list-style: upper-alpha }
     UL { list-style: "red-bullet.gif" }

 - replacing "," with ";" as the declaration delimiter -- it matches
   the '{}'s better

 - adding (more) support for tables

 - adding properties for preformatted text (e.g. PRE, TT)

 - removing the "*" as an alias for the top-level element

 - finding a non-ambigous notation for pseudo-classes, e.g.:

     A&visited { color: red }

As always, comments welcome.


Hakon W Lie, W3C/INRIA, Sophia-Antipolis, France
http://www.w3.org/People/howcome  howcome@w3.org