CSS (Cascading Style Sheets: feuilles de style en cascade en français) est un fichier qui permet aux développeurs web de styliser leurs contenus HTML comme choisir les couleurs des éléments, les positions, la police du texte et les images en background.
CSS est sorti dans les versions CSS1, CSS2 et CSS2.1 et enfin le CSS3 qui est disponible aujourd’hui. Les versions CSS 1 et 2 étaient des spécifications monolithiques. Tout le CSS a été inclus dans un document massif. Il contient les sélecteurs, les positionnements, les couleurs. Tous dans un seul fichier.
Le problème avec les spécifications monolithiques est que, pour terminer la spécification, chaque composante doit également être terminée. Aujourd’hui CSS a gagné plus de complexité, et de nouvelles fonctionnalités sont ajoutées. Par conséquent, après CSS2.1 toutes les fonctions qui avaient fait partie de la spécification 2.1 ont été réparties en modules. Comme les nouveaux modules CSS inclus tout ce qui avait précédé, en plus toutes les nouvelles fonctionnalités sont venus re-créés au niveau 3. Dont CSS3 est né.
CSS3 a été re-travaillé pendant une courte période, il est re-créé afin de répondre au besoin des développeurs. Comme les Sélecteurs CSS3 sont re-créés en l’appelant Level 3. En fait les sélecteurs CSS sont une spécification qui dite terminé et recommandé. Le groupe de développeurs de CSS travaillent actuellement sur les sélecteurs de niveau 4 qui possèdent des fonctionnalités proposés ainsi que les sélecteurs faisant partie du niveau 3, 2 et 1. Donc ce n’est pas CSS4 qui se révèle mais le quatrième niveau d’une seule spécification qui fait partie du CSS en générale.
CSS possède également des spécifications et des fonctionnalités qui n’ont jamais fait partie de CSS 1 ou 2, et ainsi de ces spécifications sont au niveau 1. Ils sont neufs. Des exemples de niveau 1 sont les spécifications de CSS comme le Grid Layout et Flexbox. Flexbox est déjà une recommandation (RC: Release Candidate), Grid a été aussi voté comme RC. Par conséquent, toutes les nouvelles fonctionnalités qui sont proposées sont à ce point susceptibles de se retrouver dans le prochain niveau de ces spécifications comme le Flexbox qui est en niveau 2 et le CSS Grille qui est aussi en Niveau 2.
On peut également voir l’état des différentes fonctionnalités du CSS, on peut aussi comprendre les différents statuts des spécifications dans ce lien https://www.w3.org/Style/CSS/current-work