Slashdot Mirror


CSS Proposed 20 Years Ago Today

An anonymous reader writes: On 10 October 1994, Opera CTO Hakon Lie posted a proposal for Cascading HTML style sheets. Now, two decades on, CSS has become one of the modern web's most important building blocks. The Opera dev blog just posted an interview with Lie about how CSS came to be, and what he thinks of it now. He says that if these standards were not made, "the web would have become a giant fax machine where pictures of text would be passed along." He also talks about competing proposals around the same time period, and mentions his biggest mistake: not producing a test suite along with the CSS1 spec. He thinks this would have gotten the early browsers to support it more quickly and more accurately. Lie also thinks CSS has a strong future: "New ideas will come along, but they will extend CSS rather than replace it. I believe that the CSS code we write today will be readable by computers 500 years from now."

2 of 180 comments (clear)

  1. They _Should_ Replace It by Anonymous Coward · · Score: 5, Insightful

    I’m sure this won’t be the only "css" sucks comment. I didn't like css when it first came out, I didn't like it when it became supported enough to use, and I still don't like it.

    For styling and formatting it’s ok, but for layout it is a convoluted mess. Grid based layout is a standard of just about every UI engine for a reason we like stuff to line up, we like stuff to scale gracefully, and grid based systems work very well for both. "But.. but.. in html tables were made for text" I can hear some web dev whine. That doesn’t mean the whole concept of grid based layout should be tossed out and replaced by the clusterfuck that is CSS layout.

    Simple things like a complex form, which would be trivial with a grid (and are trivial with tables) are an epic pain with CSS layouts. And what great benefit has it given us? Panels that float around the screen (and break if something is resized, zoomed in, or a block of text is larger than expected).

    And detaching content from style epic failure. The oft referenced CSS Zen Garden is to me an illustration of exactly how CSS failed at this goal. The layout is still being largely defined by the HTML. You can only _somewhat_ adjust how things are positioned in relation to each other with CSS, which requires you to have multiple layers of nested <div id="random_section_that_you_might_use_for_something_or_not"> to give the kind of flexibility that CSS Zen Garden does. Actually take a look at the HTML for those pages. This is not an example of how things should be done.

    1. Re:They _Should_ Replace It by itsdapead · · Score: 5, Insightful

      I’m sure this won’t be the only "css" sucks comment.

      You missed the absence of any sort of variables/constants to let you (e.g.) assign a logical name to a frequently used colour or a standard indent width. Preprocessors like "less" are a great help, of course, but I can't believe a simple macro substitution facility or simple expression evaluation would have over-taxed even 20 year-old hardware.

      Then there's the bizarre box model where the size of the contents, border, inner and outer margin are all conflated - even Microsoft's mis-implementation made more sense. Or the simple, but completely non-obvious incantations to make a div act as a container, or auto-clear floats. I still can't get my head around list formatting.

      Basically, you're left with the feeling that the designers of CSS had never used a DTP package, never used styles in a wordprocessor package, never used a UI layout manager or, for that matter, ever seen a website.

      TFS was also right on the money in one respect: a standard with neither a test suite or a reference implementation is no standard at all. The whole set of web standards suffers from the delusion that (maybe outside of pure mathematics) you can reliably specify a complex system without non-trivial exemplification.

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.