CSS4: The new version of CSS that will never exist

Lately some of the most recurrent doubts that arise in the courses of design and web layout that we participate point to CSS4: When will CSS4 come out? What is the departure date? What new features will it incorporate? The quick response disappoints some: “there will be no CSS4.”

But with the long answer we recover the hope: there will be updates, improvements and new features for CSS, but they will not be called CSS4 and will not follow the same process as CSS1 or CSS2 versions.

The web evolves in a non-linear way and the new CSS specifications work according to this evolution, much more natural, divided by modules, where the level of each module (level 1, 2, 3, 4 or 5) does not necessarily corresponds to the CSS version where they were included for the first time, but responds to a control of levels of their own. Let’s look at this in more detail.

CSS1 and CSS2: complete document

The first versions of CSS were included in a specification in the form of a single document. This means that the entire specification (although divided by sections) came into consideration, revision or recommendation at the same time, in a monolithic way.

css-w3c-version
This was the first website where the CSS specification was defined (the one we call CSS1)

Therefore, the document did not come out until all the features were ready. If there was something that was delayed, the implementation of all the functionalities was delayed.

For example, in CSS1, the background-color property goes with padding, as although they have little to do with it, both are part of the same document and its implementation is coeval.

The same happens with CSS2 and CSS2.1, a single document with all the news in the form of a complete and closed update. The implementation times are extended. Everything has to be ready for these versions to come out.

However, as we have said, the web evolves non-linearly. The browsers are updated following their own work cycles, adding those characteristics that they think are more convenient or urgent.

CSS3: the change to modularization

module-css3-new
The modules defined in CSS3 are ready to evolve and grow independently. Source: Wikipedia

But with CSS3 the way of working changes. Instead of a single document, each group of homogeneous characteristics is divided into independent modules, so that their implementation is easier and they can evolve and be updated separately.

This results in many modules called “level 3,” such as the level 3 selectors module or the level 3 colour module, independent of each other but sharing the same level.

CSS4: the next non-CSS version

From here, with all the specification divided, each module evolves independently. The timeline is blurred and it will not be possible to establish a common date for all the modules, since there are already some that are published and others that have not yet been started.

documents-css-state
These are the different stages of the CSS documents. Some will never reach the end.

This together with the different possible phases of each document (Working Draft, Candidate Recommendation…) makes the evolution of each module independent and more in line with the evolution of the web.

However, it seems that we could still identify common steps to all the modules (everything that takes level 3 would be CSS3, and level 4 could refer to CSS4.) However, this is not the case, because we will also have new modules, which will start with their own version and level control. The clearest example is CSS Grid (In Spanish), the new module for creating grid-based layouts starts with level 1, which is already Candidate Recommendation and has already been upgraded to level 2 in Working Draft.

Does it mean that CSS Grid is CSS1? Clearly not. It is a module whose current own level is 1, but which is not part, like the rest of the modules, of any single document.

Conclusion: There will be no CSS4 but updates

The CSS Grid example is perhaps the most illustrative of how the future of upcoming CSS features and updates will be. Working in modules is always a good idea, it allows you to play with different cycles and working speeds depending on the level of use or difficulty of implementing one or another feature by browsers.

If you are interested in knowing some of the characteristics of the new levels, I recommend you take a look at this article in Spanish on forms or this about reading time with CSS (In Spanish). You will see the things that we can do with CSS.

Comments (3)

  1. Man, this is confusingly bad. So i have no way to ever know if I can actually make practical use of level 4 selectors ever. Bummer. Might as weell not exist at all then.

  2. I think we are fine with css3 since we can do everything we need with that.
    In css4 there are things that already exists in css3 or simply renamed (they couldn’t think of something new yet they still needed the payment probably from organizations and so they invent the “new” things that already exists in css3 with other names and/or syntax)

Leave a Reply

Your email address will not be published. Required fields are marked *