I’ve been doing a lot of reading recently and getting up to speed with the developments of CSS3 and discovering how it’s going to effect my day to day work.
My initial impression is that it’s going to simplify a lot of my tasks greatly and give me greater flexibility during the initial design stage of the process. Creating those rounded edges that are ever present in my designs as well as new things to consider such as multiple background images, border images and the opacity properties all sounds extremely exciting.
However, after the initial “wow this is going to be great” feeling, it was somewhat dampened by the feeling of “haven’t we been here before?”.
I first got involved in web design during the period when Netscape 4.2 and Internet Explorer 5 had so many inconsistencies that it was sometimes easier just to create two separate pages and use a browser sniffer to point users at the correct page. I don’t think any web designer would want to go back to those days but such has been the length of delay in the standards of CSS3 being finalized by the W3C that there is pretty much no consistency across browsers and with so many different browsers on the market it’s almost impossible to start including even the simple elements within web pages just yet.
There’s even the issue of separate browsers implementing CSS3 differently because of their own perception of the standards.
‘-moz-border-radius’ applies rounded borders within Firefox whilst you’ll need ‘-webkit-border-radius’ to achieve the same effect in Safari and that’s before you even start on the differences with irregular corners.
The scope of CSS3 is vast so the W3C have got their work cut out but this is something that has been in development since 2000 and with no end in sight what are we as developers supposed to use in the meantime?
Andy Budd has proposed an interim CSS2.2 which would take all the CSS3 properties, values and selectors currently supported by the likes of Safari, Opera and Firefox and make them usable now.
We already have browsers supporting many of the new CSS3 properties so why can’t these be put into an interim specification that even Internet Explorer can start supporting?