CSS 2.1 Becomes W3C Recommendation
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.'"
And while they are so slow finalizing the CSS standard, I use SASS 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
42.
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!?
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?
So foul a sky clears not without a storm - Shakespeare -
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 , and don't worry about the 2007 name, the latest version is from May 2011.
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.
Nobody is required to use these new technologies. HTML 3.2 and tables will still work as well as it ever did, so anyone can still do it All that's changed is that there are more advanced capabilities (out of necessity/efficiency requiring more stringent adherence) for those who want or need more. This is inevitable and essential to allow the Internet to grow beyond a collection of multi-coloured fonts on garish backgrounds with a couple of animated GIFs for decoration.
Even then, for those who want the capabilities and elegance of modern technologies without the complexity we have all manner of CMS systems lowering the knowledge bar to allow non-technical users to create visually and technically stunning websites.
I disagree very much with your assertion. The progress of Internet (pseudo-)standards hasn't prevented anyone from creating from creating a website, in the same way that watercolours don't prevent a child playing with finger-paints. Just don't expect your kid's painting to look like a Van Gogh.
Spelling mistakes, grammatical errors, and stupid comments are intentional.
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.
Yep. Microsoft has a very cranky enterprise oriented customer base. They do not want to upgrade IE only to find out a bug screwed up an intranet app because the w3c changed a detail about a css property that the new IE follows. It seems there approach is to simply ignore the standards unless recommended as to prevent adoption. This causes everyone to wait as IE is the most popular browser in the world
http://saveie6.com/
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.
To understand recursion, you must first understand recursion.
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.
Every aspect of your post is flamebait...
They managed to fuck up the syntax. They managed to fuck up the semantics.
In a few important ways, sure -- things which are fixable, and things which pale in comparison to other mainstream languages. I'd much prefer JavaScript to C++.
They managed to fuck up prototype-based OO.
In what way? It seems to work well in modern browsers.
They managed to fuck up the equality and inequality operators.
No worse than Perl, and from what I can tell, CoffeeScript deals with that problem.
The fact that you need to hide it as much as possible, whether using something like jQuery or CoffeeScript...
Sorry, what?
jQuery isn't even in the same category. It doesn't change the syntax. It doesn't "hide" anything. It provides a useful library abstracting over the DOM, which is not part of the core JavaScript language, and which has similar problems and solutions in other languages -- the obvious example is Hpricot in Ruby (though the cool kids seem to be using Nokogiri these days), and Ruby has none of the issues you just mentioned with JavaScript.
CoffeeScript deals with the syntax, and makes it easy to generate the good parts of JavaScript -- by, for example, replacing '==' with '===', which does what you'd expect '==' to do. I really can't see anything wrong with this. It's exactly like having a preprocessor for C which makes it hard for you to accidentally do unsafe pointer arithmetic.
JavaScript has no redeeming value. There's nothing good about it.
Bullshit. Here's a list of advantages it has over Java, as a language:
I could go on. Some of that is opinion, I suppose, but a lot of them are big gaping holes in Java, and really nice features that I wish other languages had. And if JavaScript is still the "biggest mistake ever made in the field of computing," what does that make Java?
I mean, just look at Firefox. Who the fuck thinks it's a "good idea" to write huge portions of a desktop app using JavaScript and XML?
A desktop app that spends its entire day showing you web apps, so that's not going to be as much of a performance difference as you suggest. It also makes it a lot easier for web developers to hack on their own browser, which is very useful. Chrome is written mostly in C++, but extensions are still JavaScript+HTML, so you can go from web developer to extension developer in an afternoon.
Oh, and writing in a higher-level language -- I don't know that I like the XML idea, but JavaScript makes sense here. It's that much less of the browser that can possibly have a buffer overflow.
it's supposedly a "lightweight" browser.
I agree with you here. It started out as the "lightweight" alternative. But hey, the fact that it actually pulled that off for a year or two suggests that it's not the JavaScript or the XML that made it bloated. No, it's the feature bloat.
Don't thank God, thank a doctor!
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.
Not all web hosts offer Ruby, and not all web sites are in a position to switch from one host to another based solely on Ruby support. I guess one could just compile .scss to .css before uploading the web site.
sticky footer
I'm not familiar with this term "sticky footer", and the page you linked doesn't appear to give a precise definition
How do I place a box to the bottom of another variable height box ?
Outer box is position: relative. Inner box is position: absolute; bottom: 0.
How do I vertically center a fixed-height box within another fixed-height box ?
Google css vertical center gives this page.
no-hack
I'd like to know what you mean by a "hack". Otherwise, I run the risk of every solution I suggest being called a "hack".
...about [web] standards is that there are so many crappy ones to choose from.
That said, I thank all deities ever dreamed up that CSS is not an an XML dialect, 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).
"When in doubt, use brute force." Ken Thompson