19.12.2024Ste Greig
A Quick Overview
There was a time when everything new in CSS was referred to as "CSS3".
That era began well over a decade ago now, and it was really quite the buzzword for a number of years, receiving a huge amount of coverage.
The term has somewhat fizzled out over the last few years, and rather than being displaced by a "CSS4", everyone just went back to calling it plain old CSS again.
In fact, it was pretty categorically stated that there would never be a CSS4.
To understand why (and why that may no longer be the case 😄), we need to look at how CSS has evolved over time.
CSS 1.0
Released 1996CSS 2.0
Released 1998CSS 2.1
Released 2011CSS Selectors Level 3
CSS Text Level 3
CSS Flexible Box Layout Level 1
CSS Transitions Level 1
CSS Colour Level 3
CSS Animations Level 1
CSS Box Model Level 3
etc. etc.
After CSS 2.1, CSS was split into a vast collection of individual modules, which would be free to advance at their own pace.
Some modules, such as CSS Selectors, began at "Level 3", to show their continuation from CSS 2.1.
Other modules, such as Flexible Box Layout (Flexbox), were brand new and so began at Level 1.
Regardless of their individual level, every CSS module from this point on would come under the umbrella of "CSS3".
So this is why we could say, logically, there would never be a CSS4. There would only be, for example, CSS Selectors Level 4, or CSS Transitions Level 2.
With the individual CSS modules now advancing independently of each other, the "CSS3" term has naturally died off, but this has had unintended consequences.
It's created a perception that CSS is a bit static, with developers seemingly paying less attention to new CSS features, or at least less aware about.
It's a lot harder to promote lots of little advancements compared to a memorable catch-all buzzword.
And that is seemingly the realisation that the CSS Working Group have arrived at...
After a GitHub discussion spanning several years, the decision was made in November 2023 to start defining CSS4.
There won't be any actual changes to the way the CSS specifications are worked on or the way in which they advance - the different modules will continue to progress independently at their own pace.
The idea of batching these individual module levels into buckets of "CSS4", "CSS5" and so on, is purely for the benefit of the community, and the marketing benefits.
It will eliminate any misconceptions that CSS is now stagnant (which couldn't be further from the truth), it will help devs learn, teachers teach, employers hire... there is a lot of potential upside.
The first step of this new push to market the new CSS eras is a brand new logo!
There was a vote on GitHub, and this was the winner!
One of the conditions was that it should work with or without a number. It's also in-keeping with the logos used for other languages, and the colour choice (rebeccapurple) has a moving backstory.
The CSS Backstory
Menu