AboutPostsTalksOpen sourceProjectsPodcastsVideosToolsResumeContact

Comprendre la minification CSS

Comment fonctionne la minification réellement et pourquoi est-ce un vrai gain ?

Photo by Pankaj Patel on Unsplash.
Photo by Pankaj Patel on Unsplash.

Minifier son CSS a bien entendu pour avantage de réduire le nombre de caractères présents dans une feuille de style, et donc son poids.

Il existe plusieurs types de compression. La plus simple consiste à supprimer les caractères superflus du CSS. Par exemple :

  • Suppression des blancs multiples
  • Suppression des retour à la ligne
  • Replacement des 0px par 0
  • Suppression des » ou ‘ dans une URL (ex. background:url(toto.jpg))

Il est néanmoins possible d’aller plus loin dans nos optimisations. En quoi ça consiste ?

Regrouper les mêmes règles

h1 {  font-size: 2em;}h2 {  font-size: 1.5em;}h1 {  color: #369;}

Ici, on peut simplifier le code (de 9 octets) en

h1 {  font-size: 2em;  color: #369;}h2 {  font-size: 1.5em;}

Sans compter les répétitions éventuelles de certains attributs

Réécrire les règles CSS

h1 {  margin-top: 10px;  margin-bottom: 20px;}

Dans cet exemple, regrouper les attributs peut faire gagner 17 octets :

h1 {  margin: 10px 0 20px;}

De même que pour le moyen précédent, les répétitions de certains attributs peuvent encore plus diminuer la taille de la feuille de style.

Décomposer les CSS

h1 {  font-size: 2em;  color: #369;}h2 {  font-size: 1.5em;  color: #369;}h3 {  font-size: 1.2em;  color: #369;}

En décomposant les règles on gagne 7 octets :

h1 {  font-size: 2em;}h2 {  font-size: 1.5em;}h3 {  font-size: 1.2em;}h1,h2,h3 {  color: #369;}

Certes le gain est moins important, mais reporté sur une feuille de style complète, il devient intéressant

Que faire ?

Effectuer ces modifications peuvent casser la mise en page du site, du fait de la gestion des priorités de CSS. Il faut donc savoir le faire avec précaution.

Il existe bien entendu des outils pour gérer ce genre de problématique de compression :

Ces deux outils permettent de faire des optimisations très avancées, tout en étant capable de gérer des niveaux plus où moins élevés de compression.

You liked the post? Consider donating!
Become a patron
Buy me a coffee