Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Ask Håkon About CSS or...? 326

Back in 1994, while working for the World Wide Web Consortium (W3C), Håkon Wium Lie (pronounced more or less "how come") proposed the idea of Cascading Style Sheets (CSS). Got a CSS question? An Ajax question? Want to know why Håkon loves Free Software so much? Or something else, related or not? Go ahead and ask -- after checking some of the links above, so you don't duplicate questions he's answered in other interviews or in articles he's written. (One question per post, please.) We hope to post his answers Friday.
This discussion has been archived. No new comments can be posted.

Ask Håkon About CSS or...?

Comments Filter:
  • by Stick_Fig ( 740331 ) on Tuesday June 20, 2006 @01:35PM (#15570656) Homepage
    ...validate? :D
  • Idea? (Score:2, Interesting)

    by cosmotron ( 900510 )
    What prompted you to develop the idea of Cascading Style Sheets?
  • by iceborer ( 684929 ) on Tuesday June 20, 2006 @01:37PM (#15570678)
    Want to know why Håkon loves Free Software so much?

  • Why? (Score:5, Funny)

    by Anonymous Coward on Tuesday June 20, 2006 @01:37PM (#15570679)
    Free software is destroying american jobs. Why do you hate america?
  • Where... (Score:3, Interesting)

    by aleksiel ( 678251 ) on Tuesday June 20, 2006 @01:40PM (#15570708)
    Where is CSS going in the future? Expecting anything in particular for CSS4, or will we never reach it?
  • Opera (Score:5, Interesting)

    by taskforce ( 866056 ) on Tuesday June 20, 2006 @01:41PM (#15570717) Homepage
    Opera 9.0 seems to offer a lot of decent additions to Opera's standards pool. How satisfied are you personally with the work the team has done on implementing standards, and is there anything in there you feel is superflous and anything you would have preferred to see which wasn't in there?
    • Opera 9.0 seems to offer a lot of decent additions to Opera's standards pool. How satisfied are you personally with the work the team has done on implementing standards

      Translation: I like Opera, please give them your blessings so that I may sleep at night.
  • I have one (Score:3, Funny)

    by linvir ( 970218 ) * on Tuesday June 20, 2006 @01:42PM (#15570725)
    Why do you love Free Software so much?
  • Padding (Score:5, Interesting)

    by Anonymous Coward on Tuesday June 20, 2006 @01:43PM (#15570732)
    Why was the decision made to make padding apply outside of the width of a 'box', rather than inside, which would seem to make more sense?
    • Re:Padding (Score:5, Interesting)

      by Anonymous Coward on Tuesday June 20, 2006 @02:01PM (#15570867)
      In addition: Was an concideration given to the effect that this would have on blocks using percentages for sizes? Is any concideration being given to fixing the problems that this causes?
      • And isn't it amazing that this is one "standard" that MS got right by breaking (until they were chastised into "fixing" it)? Oh, the irony.
    • It applies inside the padding so that the width and height you specify are that of your content. Visual design is not content, which is why these are not included in the height/width consideration.

      Or at least, that's how the logic behind the decision supposedly goes.
    • Re:Padding (Score:5, Informative)

      by pikine ( 771084 ) on Tuesday June 20, 2006 @03:27PM (#15571576) Journal
      Space inside the box is the "padding," while space around (outside) the box is the "margin." Between "padding" and "margin," there is also a "border." I'm not sure if asking how the terminology is determined is very interesting.
      • Re:Padding (Score:3, Insightful)

        by quis ( 737516 )
        What I think he means is that adding padding actually makes the box wider, rather than the content inside narrower. i.e a box with 400px of content is 400px wide, but with 50px of padding all around it becomes 500px wide rather than 300px of content in a 400px box.
  • by Qubit ( 100461 ) on Tuesday June 20, 2006 @01:43PM (#15570733) Homepage Journal
    Go ahead and ask -- after checking some of the links above, so you don't duplicate questions he's answered in other interviews or in articles he's written.

    Duplicates? On Slashdot? Surely you jest, sir!

  • by 1155 ( 538047 ) on Tuesday June 20, 2006 @01:44PM (#15570738) Homepage
    CSS is a great idea, separating content from everything else. My problem with it is that it's such a horrendous beast of a thing to implement. For instance, there's nothing really good for say, putting something into "the middle" from what I can find. Now if there is, fine, don't make this question about the example. There are literally hundreds of design decisions that feel like they were implemented in a way to just make things as difficult as they can be.

    Why is CSS such a pain compared to other languages?
    • by mini me ( 132455 ) on Tuesday June 20, 2006 @02:10PM (#15570937)
      Why is CSS such a pain compared to other languages?

      It's really not that bad once you get on to it. It would be nice if it could do math to calculate positions/sizes/etc., and supported multiple backgrounds for a single element, ala Safari. But all in all, it's poor browser support that really makes CSS difficult.
      • People used tables for layout because it was the easiest way to center things - and it worked well if you made sure all your tags were nested and closed correctly. Then along comes CSS, and tables are taboo for layout (and for some good reasons, too)...

        But there are cases where CSS cannot perform layout as well as tables. One of the reasons is because you can center a table that is sized to fit the content. In other words, in CSS you need to specify the size of the container in order to "auto" the margin
    • by musicmaster ( 237156 ) on Tuesday June 20, 2006 @05:18PM (#15572384) Homepage
      Because CSS is based on many misunderstandings:

        - You are supposed to separate content and visual elements. An input is both.

        - An HTML page has to be XML. To achieve this part of positioning is delegated to attributes.

        - The belief that tables are bad. In fact they are very intuitive elements - unlike the DIVs. It would have been much better if we could do with one block element that had the strong points of both tables and divs.

        - A total disregard for consistency. Every HTML page contains 3 languages for the same thing: HTML, CSS and javascript. In many cases all three use slightly different names for the same thing. It would have been much better if they had been integrated into a consistent interface.

      My question for Hakon: HTML became popular because it was so simple to use that everyone could use it. CSS by contrast is so complicated that only fulltime professionals understand it. Will CSS stay an elite thing?
      • If you don't think tables are bad, then you aren't designing for cellphones, text-only brpwsers, braile readers, etc. etc. etc.

        If you're just making static pages for personal use, go ahead and do whatever. The primary goal of stylesheets isn't to make layout easy (obviously...) it's to break down elegantly on non-standard devices. A good CSSed document will be inteligeable if all formatting gets turned off and it just reads as a long page of text.

        While the language has its problems, MOST of the complaints
    • by rar ( 110454 ) on Tuesday June 20, 2006 @05:57PM (#15572617) Homepage
      ... There are literally hundreds of design decisions that feel like they were implemented in a way to just make things as difficult as they can be.

      I'd like to try to turn your observation into a more specific question:

      CSS is clearly very useful for separating style from content. But apparently people tend to have problems when using it for layouts. Would you say this is because people have not yet understood how to properly do layout in CSS, or is it CSS that is lacking in this area? What can be done to improve the situation? --- Would the web benefit from HTML and CSS being complemented with some kind of "layout language"?
  • by gaspar ilom ( 859751 ) on Tuesday June 20, 2006 @01:46PM (#15570752)
    1.) What do you think of XSLT?

    2.) Would it be crazy to have CSS incorporate data selection and assembly? (using something like XPath -- alowing more complete segration of data and formatting.)
  • Two questions (Score:2, Interesting)

    by Dolda2000 ( 759023 )
    1. What would you most like to change with CSS? That is, if you could go back in time and change one thing in the spec and have it reflected today, what would be the most important thing? 2. If you were allowed (perhaps by court order, which wouldn't be unthinkable) to force Microsoft to do one (1) change in Internet Explorer, what would that be?
  • by Spy der Mann ( 805235 ) <spydermann.slashdot@ g m> on Tuesday June 20, 2006 @01:54PM (#15570820) Homepage Journal
    I always wanted to have "included" substyles or "aliases" in my CSS definition, to save redundancy.

    (For includes)
    .class1 { color:#ff0000; }
    .class2 { background-color:#ffffff; }
    .class3 { include:class1,class2;font-weight:bold; }
    (For aliases)
    @alias color1 #ff0000;
    @alias color2 #ffffff;
    @alias default_image url('/img/image1.jpg');
    .class1 { color:color1; }
    .class2 { background-image:default_image;background-color:co lor2; }
    This way we could change colors or images for a whole webpage by editing a reduced number of lines.

    Had you considered any of these ideas in the past? If so, why were they rejected?
    • doesn't the "cascading" portion of "cascading style sheets" sort of take care of the includes for you? if you organize your styles right, there shouldn't really be a need for includes. i'm by no means a css expert, so please feel free to correct me if i'm wrong on this point.

      as far as aliases, i would also love to have something like that in css. it would make it much more easy to organize your styles.

      • doesn't the "cascading" portion of "cascading style sheets" sort of take care of the includes for you? if you organize your styles right, there shouldn't really be a need for includes.

        I began thinking of these ideas when I studied multi-tier programming and separation of concerns. Even thoough CSS is presentation, it can still be organized in tiers, where the complicated stuff could be seen as the logic tier, and the aliases could be seen as the presentation tier.

        as far as aliases, i would also love to have
    • I've also wanted to do that, but with the selectors instead. I could make my user stylesheets a few kb smaller that way.

      So here's my question: Any plans to add OOP-like syntax to CSS?
    • if you have 2 elements, eg ol#a and span#b, you need to double your selectors:
      ol#a *:first-child a:hover + dd, span#b *:first-child a:hover + dd { ... }

      Why is there no 'grouping' of selectors such as:
      ol#a, span#b { *:first-child a:hover + dd { ... } }

      And of course, there are more possibilities to greatly improve the maintainability of CSS-files; being able to define variables, or inline-calculations (eg. border-width: @var - 0.5em;

      Have they not been included to keep CSS simple, or ... ?
    • You can achieve the same effect, albeit in a slightly different way.

      For example, rather than define a variable and use it in style declarations throughout the document, you simply define one property of multiple selectors at once.

      So rather than

      H1 {color: col1; other-styles-here}
      PRE {background-color: col1; other-styles-here}

      you would, instead, write

      H1, PRE {color: blah}
      H1 {other-styles-here}
      PRE {other-styles-here}

      Now, it's not quite as elegant since it would separate logically-related style groups by forcin
  • CSS Evolution! (Score:5, Interesting)

    by eieken ( 635333 ) on Tuesday June 20, 2006 @01:55PM (#15570832) Homepage
    Is the wave of webpages designed completely in CSS what you intially intended when you came up with CSS? Do you see that changing? Is that good or bad?
  • by ars ( 79600 ) <assd2@dsgml . c om> on Tuesday June 20, 2006 @02:05PM (#15570901) Homepage
    Why did you forget to include the ability horizontally align multiple items?

    It's the main thing that's missing from CSS. Was it too hard to implement or write syntax for?

    I'm thinking something like:

    horizontal-align-to: .

    eg: horizontal-align-to: #box middle top; Will align the top of this element to the middle of #box.

    The same for vertical align would be nice as well. For horizontal elements restrict it to elements within a parent (and allow ID's (or use class name) to be duplicated within different parents, to make repeating multiple rows easier). For vertical it must be set on a block level element.

    Alternate syntax:

    On the reference element: horizontal-align-to: #name_me position;
    On the to be aligned one: horizontal-align-from: #his_name position;

    horizontal-align-to: #rowman top;
    horizontal-align-from: #rowman middle;

    Will align the middle of the element, to the top of rowman.
  • About Microsoft... (Score:5, Interesting)

    by Chabil Ha' ( 875116 ) on Tuesday June 20, 2006 @02:08PM (#15570921)
    With MS's next browser release (IE 7), you mentioned in other interviews that their decision to not supprt CSS2 was more a political decision than a mechanical one. Aside from their obvious desire to dominate the world, what politics do you think are in play that make them not want to conform to the standard, and what do you think would change that landscape so that they would have some initiative to fully support it?
  • equal column heights (Score:4, Interesting)

    by crush ( 19364 ) on Tuesday June 20, 2006 @02:09PM (#15570931)
    Is the difficulty of producing a layout that consists of three or more columns of equal height justification for adding some new feature to the specification to make this easier?
    • Is the difficulty of producing a layout that consists of three or more columns of equal height justification for adding some new feature to the specification to make this easier?

      They added that feature to CSS over eight years ago []. Nobody uses it because Internet Explorer hasn't caught up to 1998 yet. No, not even Internet Explorer 7.0 will handle display: table-cell. Maybe Internet Explorer 8.0 if we are lucky.

      What would you like them to do - add a duplicate feature and hope Microsoft implements

  • New standards (Score:5, Interesting)

    by iamsure ( 66666 ) on Tuesday June 20, 2006 @02:12PM (#15570942) Homepage
    In your work at Opera, you have clearly paved a path that includes going beyond the W3C standards. Whether it is WhatWG implementations, or new functionality specific to Opera (2dgame), you are pushing into new territory.

    Can you explain why W3C isn't sufficient, and why efforts at Opera to expand beyond the standards differ from Microsoft's embrace/extend model?
  • by infestedsenses ( 699259 ) on Tuesday June 20, 2006 @02:16PM (#15570974) Homepage

    As a developer who works with CSS every day, I find one complication that continues to bother me in my daily work. Support for CSS has always been good on the horizontal scope, but vertical positioning has always been quite complicated. Alone the procedure to affix a footer to the bottom of a screen in dependance of the amount of content is unnecessarily difficult, spawning hackish solutions such as "footerStickAlt" []. Centering an object in the dead center of a page also requires strange procedures such as this one [], which still aren't ideal (try making the viewport really small). The old table method provided much easier methods for this. What are your thoughts on this and do you see improvement following in future CSS revisions?

  • Does CSS suck? (Score:3, Interesting)

    by dattaway ( 3088 ) on Tuesday June 20, 2006 @02:17PM (#15570979) Homepage Journal
    A collection of pages of Why CSS: .aspx []

    "I pretty much want to kick whoever invented CSS in the nuts."
    • That page is too ugly for me to read. Perhaps if they implemented some CSS it would make it easier to read?
      • Nah; it needs more than just layout changes. It needs a guy who knows what he's talking about at the helm. Seriously; his sheer ignorance probably does more to promote CSS than most CSS advocates do with their knowledge.
    • What crap.

      Plus, one should not forget to mention that they spent all that time redesigning their website without tables only to figure out that in order to get any of that neat stuff like, catalogs, forums, search results, product lists, address books, etc. you got to have tabular data,.i.e. TABLES.

      No, most of us are smart enough to know which tool to use for which job. It's not CSS's fault if one person happens not to be.

      Some of the links: []
      CSS sucks
      CSS doesn't work anywhere any way cons

    • That page is a long-standing joke. Surely the way it's written tipped you off? It reads like an angry thirteen year-old was let on the computer without supervision. Try googling the web or Usenet for some of the rebuttals.

  • Does it piss you off that a site like /. that bangs on about standards and good design was so slow to adopt CSS
  • When you thought of CSS, did you have in mind something like the Zen Garden []? What's your opinion of it, does it explore all of the possibilities of CSS?
  • by lord_sarpedon ( 917201 ) on Tuesday June 20, 2006 @02:23PM (#15571035)
    Do you think that CSS is often misused? It seems to me that it is rarely used to define presentation in media other than the screen. As for my ideal stylesheet language... 1) Why must the layout be so linear? It seems to me that it would make more sense to have it operate closer to Autodesk Inventor, if you have ever used it, such that you set up whatever constraints (equal, parallel, etc) you see fit and the agent displaying the content finds a suitable solution. As an example, the login div must be equal width as the sidebar div, the sidebar div is at the left of the screen, the navbar is at the top of the screen and above the sidebar, and the content div is below the navbar and to the right of the sidebar. If everything is in a box, it would make sense to use other boxes as a reference point, rather than the screen. Pixels and percentages are nice and all, but not altogether natural. And pixels, while tempting, often don't cater to different resolutions. 2) Why would a spec for something that needs to be pixel-precise not come with an example implementation? 3) Shouldn't you be able to affect the document tree in a small way? If you are truly separating content and presentation, then why must I change the content to get the effect I want? I do this with XML + XSL + CSS, but just being able to add a div or image here and there would be nice...
  • by DysenteryInTheRanks ( 902824 ) on Tuesday June 20, 2006 @02:33PM (#15571116) Homepage
    I have mod privs but no one else is asking this question, at least not in a respectful manner, so here goes:

    I understand the impetus behind CSS, and think it has brought some nifty things to the Web, particularly in terms of integrating with the DOM and thus helping usher in all the AJAXy goodness we're seeing lately.

    But CSS also seems to have spawned an anti-HTML jihad movement of people who rail against simple but effective HTML markup, including for example the B, I and FONT tags and the TABLE. Many people seem to make the principle of separating presentation from content a religious issue.

    I learned HTML in 1994 by using the View Source command in Mosaic and Netscape (beta). The simplicity of the tags made it very easy. I could keep the basic structure of a doc in my head: "<html><head><title>Home Page</title></head><body><p>Hello, <b>world</b>!</body></html>"

    For all the strenghts of CSS+XHTML, they are significantly more complicated to learn than basic HTML.

    Do you worry that CSS is scaring off new Web writers, espeically since basic HTML is increasingly deprecated among Web developers?
    • Do you worry that CSS is scaring off new Web writers

      Why would it scare off new web writers? I can see a case for it scaring off newbie designers but CSS actually makes it easier to write for the web, because you don't have to worry about the design so much when you are writing. In fact, surely the immense popularity of weblogs is evidence that writing for the web is more popular than ever before? It certainly doesn't look like anybody is being scared off.

  • Usability Testing (Score:2, Interesting)

    by MonsoonDawn ( 795807 )
    Was there any usability testing with developers performed as part of the design process? If so, how did the testing guide development of the specification? One of the complaints often heard from both critics and fans is that CSS is very difficult to learn and read. In particular the complex rules governing the Cascade are often a source of problems for even experienced developers. Another instance is the often extreme difficulty and skill required to achieve layouts that were easy and common in pre-CSS day
  • HTML5 (Score:3, Interesting)

    by booch ( 4157 ) <slashdot2010&craigbuchek,com> on Tuesday June 20, 2006 @02:37PM (#15571159) Homepage
    Do you think HTML 5 (from the WHAT WG) will have a better chance of being accepted by the browser vendors than XHTML 2.0 or whatever else comes from the W3C? (I suppose being accepted by the dominant IE would be the most important.) As a more general question, how can we best create new standards that allow backward and forward compatibility? It seems that current browsers handle current HTML versions as special cases, by looking at the HTML version string. It seems that this would break the ability for these browsers to treat HTML 5 as if it were HTML 4.
  • {Gack.} (Score:5, Interesting)

    by Rob T Firefly ( 844560 ) on Tuesday June 20, 2006 @02:43PM (#15571212) Homepage Journal
    Why the curly brackets? Those things get on my damn nerves.
  • Simple question (hopefully simple answer ;-)): why did you not use XML?
    • I'll give my simple answer: Why ever should he have? In which possible way would using an XML dialect have made anything about CSS better? In contrast, not using XML makes the CSS syntax much terser than it would have been with XML.
  • Acid2 test? (Score:3, Insightful)

    by bigpat ( 158134 ) on Tuesday June 20, 2006 @02:47PM (#15571250)
    Do you think the so called Acid2 test is a useful test for determing browser compliance with standards and if so then why? If it isn't a good test then is there a simple alternate test that could be more useful for browser developers?

    For your reference: []

  • Are there any plans to re-release the Bork edition?

    I for one enjoyed that Valentine's day treat quite a bit!
  • ...I can finally view it in my, somewhat old, browser Cyberdog! Ah, never heard of that one, did you? Not that it can do CSS (or Javascript, or frames, or PNG, ...) oh no, but it could neither correctly interpret the color information Slashdot had in it's HTML, which resulted in a completely black page. :-( But now I'm happy again! :-)
  • How come y'all hawk on this guys name so much?

    C'mon guys, you know grade school was hard enough for this fella.
    • Re:Question for /. (Score:2, Interesting)

      by markild ( 862998 )
      C'mon guys, you know grade school was hard enough for this fella.

      I doubt it ;)

      As you can see from this graph [], it's one of the most common names in Norway. (numbers on the left in percent)
  • by BlueStraggler ( 765543 ) on Tuesday June 20, 2006 @03:07PM (#15571403)
    Should it be possible to freely mix inline and block elements? In particular, place block elements inside inline elements? Basic HTML says no. CSS2 is vague, especially considering that an element's block/inline property is variable. Most browsers seem to side with HTML. But, coming from the TeX world, where \hbox and \vbox can be freely mixed to achieve any layout you like, I can see no compelling reason for prohibiting it. HTML/CSS can come across as hopelessly broken when you know that something analogous has been done for ages, and practically perfectly, elsewhere. Is the problem here with CSS, HTML, the browsers, or me?
  • Do you ever have to choke down the urge to punch Bill Gates straight in the mouth for what he's done to your creation?

    I mean, I know I do, and CSS isn't my baby.

    Tom Caudron [] (why yes, it is a CSS-based 3-column layout!)
  • Cascading style sheets are a great idea... if you can cleanly separate form from content. Certainly, this is nowhere more true than in writing, as things like the poetry of e.e. cummings, hieroglyphic inscription, and the calligraphic writings of the ancient Chinese are all examples of where the medium becomes the message with profound results. While most attempts at creating genuine multimedia art over the internet still have their tongues firmly planted in-cheek (ytmnd springs to mind), I'd suspect that
  • Definition of pixel (Score:5, Interesting)

    by Sara Chan ( 138144 ) on Tuesday June 20, 2006 @03:35PM (#15571617)

    The word pixel meant "picture element", but CSS redefined it to mean something quite different (a particular subtended angle of view []). This causes confusion: CSS pixels are not pixels. (Indeed, I have seen misinformed comments on Slashdot due to that confusion.)

    My question is this: why call the subtended angle a "pixel", instead of something else (e.g. "subangle")? If CSS wanted to use the subtended angle for something, that is fine, but calling it a pixel seems to follow the approach of Humpty Dumpty—"When I use a word, it means just what I choose it to mean".

  • CSS claims to be a language for layouting HTML. Why are the layouting capabilities so limited then? Were any graphical designers / people with layouting experience actually involved in the development of the standard?

    To illustrate my point of view: Positioning of block elements in CSS can only be absolute (which is not suitable for arbitrary size screens), relative to immediately preceding or following elements (which is not very flexible) or floating (which is also not very flexible as it only affects subs
  • CSS2 has some very cool properties [] for interfacing with Assistive Technology (AT) such as JAWS and WebEyes.

    For unfamiliar readers, the speak selector could be used with amazing effectiveness, eg:

    .initalism {

    <abbr title="Strucuted Query Language">SQL</abbr> is very popular in the <abbr title="United States" class="initialism">US</abbr>

    Unfortunately, implementation of these features does not seem to be a high priority for AT manufacturers. What efforts, if

  • by oneiros27 ( 46144 ) on Tuesday June 20, 2006 @04:11PM (#15571889) Homepage

    Why isn't there any easy way to style a table column in CSS?

    If you're serving legitimate, tabular data, and you want to right-align column #3 (normal for numerical data), you either have to apply a class to each cell, use javascript to apply it after the fact, or use hacks like:

    #tableid td+td+td { text-align: right } /* right align col 3 */
    #tableid td+td+td+td { text-align: inherit } /* stop right align at col 4 */

    Which work, but are difficult to maintain when you get 10+ columns, and don't try to automatically re-arrange columns with javascript.

    Why can't we just place styles on a <col> or <colgroup>, and have it cascade down?

    • Why can't we just place styles on a <col> or <colgroup>, and have it cascade down?

      You can (<col class="whatever">). However, the instant you add classes to any of the rows or cells in the table, it stops working, so it's not very useful.
  • by dolphinling ( 720774 ) on Tuesday June 20, 2006 @09:40PM (#15573460) Homepage Journal

    How do you feel about SVG (as currently specified, not as a concept)? What problems do you think it has, and why do you think those problems came about? If some other group (like the WHAT WG) were to rewrite it, would you support that?

  • CSS Parent Selector? (Score:3, Interesting)

    by Enrico Pulatzo ( 536675 ) on Wednesday June 21, 2006 @01:32AM (#15574188)

    My question has to deal with selectors: why doesn't CSS have a parent selector? All too often I find myself wanting to refer to a parent or a sibling of the current element but cannot (I'm sure there are a bevy of workarounds for individual cases...)

    ie Why can't I do something like this to refer to a table row (given a structure of <tr><td><a>) a:hover:parent:parent { background-color: #cff; }? It's a simple example, but there really isn't a way to do this without involving a client-side scripting language.

    Thanks for your consideration.

  • Nesting (Score:3, Interesting)

    by daeg ( 828071 ) on Wednesday June 21, 2006 @11:55AM (#15576270)

    Was nesting ever considered? For example, instead of:

    #alert h1 {
    background: red;
    color: white;
    #alert p {
    color: silver;

    something like:

    #alert {
    h1 {
    background: red;
    color: white;
    p {
    color: silver;

    Also, do you think CSS3 is too complex? Some of it seems nearly impossible to correctly implement across browsers. Is there any consideration going in to the speed and complexity of rendering? I fear that CSS3 (and beyond) are beginning to play into the assumption that all computers will be Pentium 4's with 2 GB of RAM and plenty of clock cycles to spare.

Air is water with holes in it.