The Short Answer:
None of it.
The Slightly Longer Answer:
I’m in the process of updating the Preview area at the moment (sneak preview), and what’s immediately apparent is the low level of implementation of the new CSS 3 features across the major browsers. As IE6 is still the most widely-used browser, roughly 50% (and, slowly, falling) of the market has next to no CSS 3 support at all. A sobering thought.
With IE7 introducing support for attribute selectors, roughly 50% of the market can use those. You will still have to provide fall-back support for IE6, however, either with conditional comments or through graceful degradation.
Next most-widely implemented property is opacity; with support in all the key browsers other than IE, perhaps 25% of site visitors will see this effect if you use it. Again, make sure that your designs degrade gracefully if tempted to add this to your code.
After that, you can more or less forget it. The properties in the Backgrounds and Borders module have patchy implementation in browsers, and almost all use browser-specific prefixes, which you probably want to steer away from in a production environment as they are subject to change (see the border-radius conflict as a good example of why they are tricky to implement).
text-shadow should gain support from Safari 3 and Opera 9.5, but even being generous that’s only around 5-10% of the market. Most of the other properties have little or no cross-browser support.
What You Can Do About It:
Get behind Andy Budd’s ‘CSS 2.2’ idea. Think about it. If you have a blog, discuss it there. Write to browser manufacturers and the W3C. We’re putting together a campaign website to promote the idea, so get in touch with us and offer support.
We want – no, need – these new properties, to do away with many of the non-standard or non-semantic solutions we have to use today to provide complex solutions for simple problems. CSS 3 provides many of those solutions, but they won’t be implemented cross-browser until they become standard; that can be via the W3C, or a de facto standard agreed by browser manufacturers. But however that standard is made, it won’t happen unless there’s concerted pressure from the development community.
You can skip to the end and leave a response.
[…] CSS3 Today […]
I do feel as though we’re getting to a stage that could be dangerous and very similar to the old Netscape 4.2 and IE 5 problems where each browser supports different CSS properties so a common set of standards that all browsers can adhere to until CSS3 eventually comes about would certainly make sense.
An interim that all designers can start using as well as browser manufacturers being confident in what they need to support will certainly help considering there doesn’t seem to be an end in sight for CSS3.
@Robin: CSS 3 is a complete revision of the language, and involves a lot of very technical implementation for speech, international languages and accessibility. It’s intended to be the definitive version, and as such will have to be thoroughly tested and revised before launch. This could take years. Meanwhile, we have to write extra markup and long strings of CSS in order to achieve what should be very simple functions.
The CSS 3 properties proposed for CSS2.2 all have some degree of browser implementation, and so should in theory be simpler to roll out cross-browser.
I will definitely interested to push this. Browser upgrades and adoption seems to be happening a lot quicker than it used to so this seems a good window.
Could we do something along the lines of the old WASP initiative which showed a message to upgrade your browser, hiding it in the newer browsers (then) using CSS, to move people off NN4.7 etc.
Just an idea.
I really like Andy Budd’s suggestion of CSS 2.2, which would add complex background images, rounded borders, multiple columns and new selectors. I don’t want to either have overcomplex unsemantic markup or proprietary attributes any more. Maybe then even the most popular browser would slowly adapt.
It won’t do a whole lot of good. Even if features become part of a standard, MS will probably wait a good three or four years before implementing them in IE, where it matters most. Unless IE loses a significant amount of market share or MS decides to go up-to-date and standards compliant, it won’t make a huge difference what is and isn’t standard.
With conditional comments and other IE tweaks you can use cool effects in modern browsers. E.g. “box-sizing: border-box” (and -moz-box-sizing for Firefox) is very usefull for setting form elements dimensions. Also you can use opacity in most modern browsers and set filter for IE and so on…
However there are things that can be done in IE without scripting. But why not use them for modern browsers users encouraging them in doing this?
Creating CSS2.2 would be a ridiculous amount of unnecessary work. What would be far less work but be just as effective would be CSS2.1 + some key CSS3 modules that spec the features you want. I’d rather see a campaign formed around communicating what those features are to the working group and pressuring them and the implementors to work on those features.
I don’t think we need a new spec like CSS2.2, just for browsers to agree on which features are the priority to implement and for all browsers to implement the same features as their schedule allows (instead of the current situation where Opera implemented Media Queries, Mozilla implemented border-radius, Safari did text-shadow etc). To do this we need to know from developers what the most important features are. I’ve had some feedback on this. We also need those parts of the specs to be firmed up so there won’t be a case where each browser implements it differently as the spec wasn’t mature enough. You could give it a name like CSS3.1 or CSS3 basic profile or such, or just create an interim module with all the properties that are ready to be implemented and are desired by developers.
There doesn’t really have to be anything formal from the W3C except the commitment to work on the few things that are desired but the spec isn’t quite ready for implementation sans the browser prepends.
how hard can it be for microsoft to add everything working in IE…
If they find a bug in windows wh000 then in 5 seconds you see a reaction and the next day there is a patch for it.
It’s not fun making websites and then trying to fix you code with hacks for IE (that most of the time don’t work)
What we need is CSS3 (now and not in another 5 years), Internet Explorer 8, Firefox 3, etc
who ALL use the same standard!
Come on make some pressure!
CSS3 will be available in IE9, which is available in Beta right now, so we could be there soon! I don’t want to, as many of you don’t, build another site with outdated tech, so as soon as M$ gets this out, the better for all of us FF, et al, users. It would be foolish, however, to think the user will perform updates to their PCs or even Macs as suggested, so I guess backward compatibility will still be necessary for a long time. Â