Skip to main content


Since I wrote about Michelle’s article about CSS4 last Friday, Chris Coyier has posted another article, which collates the majority of the discussion so far.

A lot of people now chiming in on this one. The general feeling (which I share) seems to be that wrapping up a set of new CSS features under a version number would probably be beneficial to most people, but there’s still a lot debate over exactly how best to implement it.

CSS3 and HTML5 worked really well - I was working for an agency at the time, and definitely noticed an uptick in clients including both in project briefs, which in turn meant learning the new features became a business priority, rather than something I had to fit into my spare time.

Natalya Shelburne points out that it can be difficult to keep up with when new CSS features are production-ready, and thus worth dedicating the time to learn them. This certainly happened to me with CSS Grid. I had read the odd post about it, but it wasn’t until speaking to Michelle after her talk at Up Front Conf last year that it really hit home that Grid was something I could quite easily be using in production. Now I use it on pretty much every site I work on.

If grouping a set of features under a specific label can help developers, and agencies and clients realise that certain things are ready for use, that seems a worthwhile goal to me. However, as Rachel Andrew highlights, it’s not always obvious what is ready. Support levels can vary wildly depending on the project, so it’s not as easy as simply marking a certain feature production ready.

In some ways, it seems to me that a label like CSS4 might work better as an aspirational thing. If a specific set of features could be agreed on and a date set for them to reach a certain support level (i.e. supported in the latest versions of all browsers), this might work as a goal for browser vendors to work towards. However, as per Rachel’s point, this still wouldn’t make those features production ready across all browsers, and setting a target like this also raises the possibility that we don’t meet it.

However, if we don’t do that, in order to ensure everything under the CSS4 label has an acceptable level of support, we’d have to choose features a few levels away from the cutting edge. In that case, if we’re highlighting features that are old enough that most developers know about them already, are we defeating the purpose of the label in the first place?

The discussion continues over here:

If you enjoyed this, there's a number of things you can do:

For more of this kind of thing, subscribe to the RSS feed.

Send any comments or questions to [email protected], or use the form on the home page.

And if you're feeling particularly generous, please like, retweet or share this post on Twitter. It really helps me out.