Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
The Internet

CSS 2.1 Becomes W3C Recommendation 97

yuhong writes "After about a decade of development, CSS 2.1 has become a W3C recommendation. From the announcement: 'The current interoperability makes it easier than ever for developers and designers to enrich the toolkit. W3C expects future additions to CSS to be organized as independent modules, allowing smaller, more focused feature sets to progress and stabilize at their own pace. Some of these new features are already supported in browsers and other software in draft form (using the built-in CSS prefix mechanism designed for experimentation). As interoperability improves for each one, developers can transition to the standard to simplify their code. The CSS Working Group also publishes snapshots of which CSS features are supported interoperably in browsers; see, for instance, the most recent CSS Snapshot.'"
This discussion has been archived. No new comments can be posted.

CSS 2.1 Becomes W3C Recommendation

Comments Filter:
  • And while they are so slow finalizing the CSS standard, I use SASS [sass-lang.com] and CSS 3.0. SASS is not about adding new features, just some basic common sense in the grammar, allowing for nesting, variable substitution, and another couple of sugary things.

    Next step they'll finalize a standard on BASIC from the 80s. :-p

    • I agree that avoiding duplication is too difficult in CSS, but fixing that and having graceful degradation to support non-supporting browsers would be a nightmare. SASS looks pretty interesting there. Would be great if there was something like this as a language-independent Apache module.
      • Yes, I've been hoping for way too long that someone at the W3C would just suggest something "radical" like simply adding simple reference variables in a useful way.

        Even a very limited syntax like the below example would be useful:

        $bluebg = { background:#00f; } div#foo { $bluebg; }

        Now, something like this could easily be implemented as a server-side module, but I would rather see it implemented into CSS proper. And I know there are various tricks and workarounds, it would just be a neat and pow

        • No. God forbids designers from programming...

          (That's sarcasm btw)

      • by mwvdlee ( 775178 )

        There is: http://code.google.com/p/ecss/ [google.com]

        The thing I dislike about these CSS extensions is that they all have different syntax and require a specific language/method
        It would be great if one of these would run as an apache module, php/perl/python/ruby script, javascript, java/C# library, etc.

        W3C does a great job, but they seem to go for semantical perfection instead of practical use.

        Pet peeve: http://www.w3.org/TR/css3-color/#css2-system [w3.org] was deprecated in favour of http://www.w3.org/TR/css3-ui/#appearance [w3.org]. No

        • by mwvdlee ( 775178 )

          p.s. I know most browsers support CSS2 system colors, and most likely won't stop supporting it any time soon, but the fact that W3C has deprecated it in CSS3 tells me where their priorities are.

    • Re:CSS *2.1*? (Score:4, Insightful)

      by Anonymous Coward on Wednesday June 08, 2011 @05:29AM (#36372778)

      And while they are so slow finalizing the CSS standard

      That's not a bug, it's a feature. The W3C, despite what some people think, is not a kind of "web government" that sits above browser makers, website designers etc. and tells them what to do. Rather, its purpose is to make the standards that the community has agreed on official.

      This does mean that the W3C will have working groups staffed with industry officials and experts to work on those standards, yes; but it also means that a standard will only be finalized when it is, well, a standard: before that, the specification is there for everyone to adhere to, but it's still a draft - a proposal.

      It helps when you think of draft standards as RFCs. In fact, that comparison is particularly apt insofar as that the IETF also published STDs, which are the ACTUAL standards (e.g. STD 5, also known as RFC0791, which describes IPv4).

      Think about it.

      • The W3C, despite what some people think, is not a kind of "web government" that sits above browser makers, website designers etc. and tells them what to do. Rather, its purpose is to make the standards that the community has agreed on official.

        Interesting. So basically they come a long and say, "hey you're all using that? Ok, it's a standard now". Well, thanks captain obvious. So really they are nothing more than glorified technical writers.

        • by BZ ( 40346 )

          Think of them more as arbitrators whose job is to get the community to agree on something even when different parts of it want different things to happen.

      • by yuhong ( 1378501 )

        Yea, W3C tried this with CSS 2.0 in 1998, and the fact that no browsers fully implements it is exactly why CSS 2.1 was created in the first place.

      • by spauldo ( 118058 )

        The W3C, despite what some people think, is not a kind of "web government" that sits above browser makers, website designers etc. and tells them what to do.

        Since when? Remember XHTML [w3.org]? Or XForms [w3.org]? They were so far ahead of the curve that they took years to notice the rest of the community had turned off somewhere way back. Of course, that's back when Microsoft believed that packaging IE with Windows meant they didn't need to fix bugs or add features to it anymore.

        Sure, some of their more out there stuff s

    • I don't get it and the SASS page doesn't explain, if it contains stuff that's not in CSS (which it implies) how will users view the content (receive the styles, whatever)?

      • by telekon ( 185072 )

        Sass only contains things that aren't in CSS in terms of syntax and semantics. What's seen by the browser is valid CSS, but with Sass you get variables, functions, etc. for free. It makes it much easier to keep your templates and your presentation code DRY, and allows you to do things like compute colors or column-widths on the fly. But ultimately, you're producing CSS.

        • So it's precompiled, then? Or, there's a Javascript component? Or...?

          • I've been using .less a bit myself, which is similar. what I use is pre-compiled, but there are supporting modules for on-the-fly delivery. I believe there are js interpreters as well.
    • by BZ ( 40346 )

      Have you ever tried writing a standard?

      It took so long to finalize CSS 2.1 for two reasons:

      1) There's a lot of complicated behavior the standard had to describe.

      2) One of the criteria for a W3C REC nowadays is that there are two independent correct implementations of every part of the standard.

      BASIC from the 80s is dead-simple in comparison, and probably still fails the criterion above. ;)

    • Next step they'll finalize a standard on BASIC from the 80s.

      ISO/IEC 6373:1984 "Data Processing — Programming Languages — Minimal BASIC" was published in 1984.

      ISO/IEC 10279:1991 "Information Technology - Programming Languages - Full BASIC" was published in 1991.

      (the corresponding ANSI standards were published 4-5 years earlier).

  • This is a quote from wikipedia, which might explain why CSS 2.1. is only *now* part of the recommendation:

    The CSS Working Group began tackling issues that had not been addressed with CSS level 1, resulting in the creation of CSS level 2 on November 4, 1997. It was published as a W3C Recommendation on May 12, 1998. CSS level 3, which was started in 1998, is still under development as of 2009. In 2005 the CSS Working Groups decided to enforce the requirements for standards more strictly. This meant that already published standards like CSS 2.1, CSS 3 Selectors and CSS 3 Text were pulled back from Candidate Recommendation to Working Draft level.

    Even so, what has the W3C been doing the last 6 years!?

    • Even so, what has the W3C been doing the last 6 years!?

      Waiting for the browsers to implement the full specification...

      One of the new requirements made to ensure the specifications are actually sane and useful is that it has to have two full independent implementations. But for that you first need a test-suite and you need browser-developers to make complete and correct implementations, unlike the usual practice of just implement some parts and call it supported (*cough* html5 *cough*)

      • So you don't actually define a standard until it's already implemented. Wish I could get away with writing my specs like that.

        • You define the standard before it's implemented, but you don't finalise it. A standard with no implementations is a draft or a proposal. You can't tell if it's sane until you try to implement it. It may accidentally (or maliciously) impose some constraints that are difficult to implement in some situations.

          You also seem to be confusing a standard with a specification. A specification tells you how to build something. A standard tells you how to interface with something. Defining a specification aft

          • by yuhong ( 1378501 )

            You define the standard before it's implemented, but you don't finalise it. A standard with no implementations is a draft or a proposal. You can't tell if it's sane until you try to implement it.

            Yep, that is what W3C's Candidate Recommendation phase is for.

      • Ah ok, that makes sense. You told me something I didn't know, thanks! Still... CSS3 must be close to having two independent implementations by now...? Or have the W3C constructed the necessary tests, but the browsers are failing it on some parts?
        • The big difference with CSS3 is that instead of one huge all-encompassing standard it's broken up into modules. Each module goes through the process independently of the others.
          Two modules (colors and selectors) are currently Proposed Recommendations, with eight more being Candidate Recommendations.
          http://www.css3.info/modules/ [css3.info]

          • by yuhong ( 1378501 )

            And BTW most of them depends on CSS 2.1 to be at least Proposed Recommendation in order for them to become Recommendation (look in the Normative References section). For example, CSS3 Color was also made Recommendation today.

      • by yuhong ( 1378501 )

        unlike the usual practice of just implement some parts and call it supported (*cough* html5 *cough*)

        And over time the browsers implement more parts. There is a reason why the WHATWG decided to call HTML a living standard.

  • Kewl,

    But it's not like it wasn't a defacto standard anyway, for quite some time.

    Let's see what mACROsFOT tries to embrace and extend on this one eh?

    • There is a difference between which standards has 'Recommendation' level, and which ones are recommended to use. CSS 2.1 has been recommended for a long time, it is just not a 'Recommendation'. Just like RFC standards doesn't actually want your comments.

      For which CSS specifications that are recommended. Check out CSS Snapshot 2007 [w3.org], and don't worry about the 2007 name, the latest version is from May 2011.

      • Forget the CSS Snapshot 2007 link, the article summary has a link to CSS Snapshot 2010. Same thing with the year though, also last updated May 2011.

    • by Ant P. ( 974313 )

      I've seen some people (foaming-at-the-mouth microsoft nutcases) claiming that nothing needs to be done right in the browser *until* the W3C finalises it. Watch MS try to spin this as a publicity stunt, despite their working group plants usually being the ones holding the process up.

  • by lazy_arabica ( 750133 ) on Wednesday June 08, 2011 @07:18AM (#36373296) Homepage

    Ok, I know I'm gonna be modded as "Troll", but I need to say it: CSS is an horrible, backward, overly-complex standard. And yet, for philosophical / ideological reasons, it has been branded by the semantic folks as one of the most exciting innovation of the 20st century.

    CSS has been invented in the days when most web pages consisted of simple blocks of text, with an occasional image floating left or right of it. All that was needed back then was changing the color of text, adding margins / paddings and that's about it. It was NOT designed to handle complex layouts: for that, you used tables.

    And then the semantic folks arrived and told everyone using tables was baaaadddd for their main purpose was to present tabular data, not to layout things. And they were right, of course. But they made the wrong choice, deciding to extend CSS rather than crafting a new standard, specifically designed for the task. And here is the result: more than fifteen (15) years later, we still can't do simple things like "aligning this block to the bottom of this one" without using dirty - not semantic at all - hacks, or even falling back to JavaScript.

    Even CSS 2 isn't supported properly by some browsers. Let alone CSS 3. And while you may think it isn't W3C's fault, I think perhaps, if some of the richest companies in the world haven't been able to implement this standard properly in, say, 10 years of continued effort, and that standard doesn't even reproduce all of the basic features that have been used in print for decades, it *might* be overly complex to get right. Look at these stupid cascading rules, for example: who seriously wants that ?

    We need to move forward and develop new standards, focusing on /features/ rather than on pseudo-philosophical crap. We want to design websites that look great. Period.

    • by Bogtha ( 906264 )

      It was NOT designed to handle complex layouts: for that, you used tables.

      Tables weren't designed to handle complex layouts either.

      And then the semantic folks arrived and told everyone using tables was baaaadddd for their main purpose was to present tabular data, not to layout things. And they were right, of course. But they made the wrong choice, deciding to extend CSS rather than crafting a new standard, specifically designed for the task.

      The concept of separating semantics and presentation was

      • It was NOT designed to handle complex layouts: for that, you used tables.

        Tables weren't designed to handle complex layouts either.

        Never said that it was, nor that table are a great tool for that. My point is: CSS wasn't born as a layout tool, but as a /styling/ tool. Hence the name.

        And then the semantic folks arrived and told everyone using tables was baaaadddd for their main purpose was to present tabular data, not to layout things. And they were right, of course. But they made the wrong choice, deciding to extend CSS rather than crafting a new standard, specifically designed for the task.

        The concept of separating semantics and presentation was around well before CSS. CSS was designed for this. They weren't "extending" CSS, that's what it's for.

        My point (which you seem to miss entirely) was that CSS hasn't been designed as a layout tool. It was, of course, designed to separate semantics and presentation. But back then, presentation mostly meant: "which color should I use for this title ?" or "would this yellow text look better on a black or on a blue background ?". CSS was a great tool for such de

        • by yuhong ( 1378501 )

          AFAIK the reason CSS 2.1 was created in the first place was that no browser actually fully implemented CSS 2.0 to the letter due to the many problems with the spec. And remember CSS 2.1 did not exist when IE6 was released.

      • Tables weren't designed to handle complex layouts either.

        But they do a far better job of it than CSS - even properly implemented CSS.

        The concept of separating semantics and presentation was around well before CSS. CSS was designed for this.

        Except it does a bloody lousy job because, to achieve particular effects with CSS (e.g. the sort of multi-column layout that is ubiquitous on websites) your "semantic" mark-up has to be written with precisely the right hierarchy of properly-named "div" elements in the correct order.

        Unfortunately, CSS gives the impression of being "designed" by a committee who had never visited a late-1990s-era webpage, used a DTP package, or used

    • by BZ ( 40346 )

      The reason that CSS is so complex and such a pain to implement is the combinatorial explosion when you have multiple interacting features. The standard has to define how they interact, and UAs have to implement the interactions. Any standard that focuses on features but not their interactions with each other will simply mean that browsers handle interaction of the features differently.... and any standard that actually tries to standardize behavior will be just as complicated as CSS by the time it reaches

    • by s31523 ( 926314 )

      Even CSS 2 isn't supported properly by some browsers.

      And when is page-break-inside finally going to be supported? Man, that would be helpful.

      What good is a standard if no browser fully supports it and when some browsers (*cough* IE *cough*) flat-out ignore them.

  • Adding any form of macros or additional scopes and indirections, including symbolic constants, is not just redundant, but changes CSS in ways that make it unsuitable for its intended audience. Given that there is currently no alternative to CSS, these things must not be added.
    - Bert Bos, W3C/ERCIM

    That's not only idiotic, it's also kind of douchey. Macros and variables make it unsuitable for web designers? PLEASE. Learning to use Dreamweaver efficiently is harder than learning Sass to do styles with all the nice features CSS lacks by design.

    Just remember that CSS is HORRIBLE BY DESIGN, and you'll be OK.

  • Duke Nukem Forever hits stores on June 14, 2011. 2K Games, now the patron saint of lost causes, has agreed to spearhead the shepherding of CSS 3 through the W3C standards process. They have committed to the publishing of CSS 3 as a formal standard by the time Duke Nukem Infinity hits store shelves in 2020.

  • ...about [web] standards is that there are so many crappy ones [cat-v.org] to choose from.

    That said, I thank all deities ever dreamed up that CSS is not an an XML dialect [cat-v.org], the semantics are a mess, but at least its got a minimally sane syntax, which is quite a rarity this days (JSON is another rare exception).

Avoid strange women and temporary variables.

Working...