CSS4

Here's a really fascinating idea from PPK and Chris Coyier. The idea is that we should promote and think about CSS4 as if it were an actual thing, even though it’s not.

I think many of us who love CSS as a language can relate to this idea, especially those of us who lived through the heyday of CSS3. CSS as a language used to get more attention than it currently does, and it’s easy to hope that we could turn that around with a little more TLC.

I do think CSS deserves more attention, especially with all the excellent work going into the language right now. It’s a more robust language than it’s ever been, and it just keeps getting better, and yet it seems we as an industry are moving away from it.

Two questions I have: would it be worthwhile to try to artificially create more attention for CSS as a language? And if yes, would creating a fictitious name for it help? Let's talk about that.

A little history, as I remember it:

CSS3 was popularized shortly after I started my career in web development, and I remember the thrill of working with "new HTML5 and CSS3 features". HTML5 and CSS3 promised to make our lives a lot easier, and at one time many of us were counting down the days until we could make use of this simplicity in real-world projects.

As I remember it, many of the features that were brought to the table were things we were already doing, and CSS3 was just going to make it much easier than before. For example, let's take border radius: we certainly had round corners on the web before border-radius was added to CSS, but we had to use a collection of hacks and images to accomplish it. It worked, but not nearly as effortlessly as simply typing border-radius: 3px;. CSS3 made things easier.

I think that this is really why most of us were excited to have these features. Not only did these features save us time and effort in development, but they also made the web faster and more accessible. All we had to do was learn to use these features, and our work would be better and easier as a result.

It was a fun time to be a web developer, especially for those of us who truly love CSS as a language. CSS was still relatively young and innocent, but this was the beginning, the beginning of a much bigger story.

Would a new CSS3 help the industry?

Many of the things stated above were not only true of CSS3, they're also true of CSS progress today.

Many of the new CSS features coming down the pipe are just reflections of things we’ve already done, just streamlined methods for achieving the same results. But there’s one big difference between now and ten years ago: layout on the web just simply isn't as painful as it used to be.

However, the industry is vastly different than it was in the CSS3 days. Everything has changed. Sure you can still write vanilla HTML5 and CSS3 and it will work, but most people don't.

Let's reframe the question:

Has web development gotten easier since CSS3?

As a whole, it's hard to say. But we can safely say one thing: CSS has become much easier to use in recent years. And not only that, there are so many more ways to use CSS.

Building websites is drastically different now. You really don’t have to work in the core languages (HTML5, CSS, and JS) at all, if you don’t want to. There are so many frameworks, toolkits, pre and post CSS processors, design tools that export CSS, CSS-in-JS solutions, and more: most of these tools promise to solve specific pain points that people see in CSS, JS, and HTML.

This is a good thing, and helps push the web forward just like CSS3 did, albeit not as directly. All of this tooling truly gives us more options than we’ve ever had before, but it also means less and less interest in the core features of the web.

Very few people write websites from scratch anymore, so the benefits of core language updates are less tangible to most of us. I honestly think many web developers would be more excited to hear of a new version of React than a new version of CSS: that’s the reality, and that’s okay.

All of this makes me think that the glory days of CSS are over, and there’s no going back. Just like there was a gold rush for iOS apps back when the iPhone came out, CSS had its time in the sun, and now it has to grow up and get a real job. No marketing push, no matter how big, is going to make people pay attention to a technology that they simply don’t use anymore.

However...

That doesn't mean we should hang CSS up to dry. I do think we could manufacture a smaller movement. The CSS community has become more stagnant over the years. Fewer people truly care about it. Those of us that do care need to be more diligent about learning and teaching new CSS features that might otherwise fly under the radar. If we don’t learn and teach it, who will?

And as Chris notes in his CSS4 article, there are plenty of new and exciting things to talk about. We just don’t talk about them as much, because there are so many other exciting things to talk about.

As noted on CSS-Tricks, the W3C is semi-annually posting "CSS Snapshots" that describe a year's worth of progress on CSS the language. The latest one is right here, CSS Snapshot 2018.

This would be a good way to focus our attentions, to make sure nothing flies under the radar. It also gives us a rolling number to use, similar to how JavaScript is now versioned. We would have CSS 2018, CSS 2020, and so on and so forth. Definitely not as pithy as CSS4, but it would have many of the same benefits, plus it's accurate. We can write about the shiny new "up and coming" CSS features in CSS 2020, just like we would write about the nonexistent "CSS4".

I do think that this alone would be tremendously helpful. Just looking through the CSS 2018 Snapshot, here are a few of the features that I haven’t seen or read much about:

  • Logical Properties
  • Fonts Level 3
  • CSS3 Colors
  • CSS3 Namespaces
  • CSS4 Media Queries (!!)

This is an excellent place to start. And while I do like the pithiness of CSS4, I do think in the long run it would be better to go with the CSS 2018 vernacular. That way we always have a new version to aspire to, rather than slowly watching CSS4 fade into the background, like we saw with CSS3.

CSS is dead, long live CSS!

← Home