CSS3: The long wait
HTML5 is great but what really gets me excited is CSS3. Layout modules, text columns, multiple background and especially RGBa. These new features will change the way the web looks forever.
However, all is not great. Browser vendors are struggling to implement new features in a meaningful way. What we’ve learnt is that no matter what kind of syntax is used webheads are going use and abuse any new feature as if it’s a stable and complete release. So playing around with prefixes is going to end in tears. Microsoft is even considering implementing prefixes from other vendors. When doing this the prefix loses its meaning. The reality is that we shouldn’t use prefixed properties. But we do.
So if you must use prefixes make sure you also write the property without the prefix.
Let’s look at an obvious example, border-radius. It is one of the few that is pretty stable but can’t be used without the prefix. So webheads like myself end up using -webkit-, -moz- prefixes to get it to work.
Despite adding the correct non-prefixed property to overwrite the prefixed versions this is still bad practice, but on other hand how long do we have to wait? What’s holding up the train? I wonder if al those other ‘new’ features are just causing so much congestion that we’re left standing on the platform wondering if the train will ever arrive.
The problem is that prefixed properties don’t move on quickly enough to become full members of the CSS family. The prefix shouldn’t be test bed feature it should be more like a final release candidate. When you have a feature available long enough developers will start using it and come up with any rationale for doing so.
The result is that we’re seeing these new features being implemented in different ways. There is a mismatch in the border-radius properties. Safari kicked-off with one implementation but hasn’t amended their version to align with the current W3C version. In effect they actually don’t support border-radius. Text columns is another example that doesn’t render equally across browsers. When released its usefulness will be diminished from the get go. Text columns impact the flow of content and if it’s not reasonably consistent across browsers it’s effectively unusable.
We see HTML5 being adopted left, right and center but CSS3 looks like it may take some time to become implementable. It may take an outsider to get the ball rolling. IE9 looks like it might do the trick. Acid test be damned, it real progress we’re looking for. For now we’ll just have to wait some more.