Le formatage et l'optimisation des fichiers CSS ne sont plus un casse-tête pour les développeurs web grâce à ces outils triés sur le volet !
Depuis leur création, les feuilles de style en cascade (CSS) sont largement utilisées pour définir les éléments visuels des pages web. Elles comprennent la définition des couleurs, des mises en page, des animations et des polices de caractères. Indépendantes du langage HTML, les feuilles de style en cascade vous permettent d'adapter facilement la présentation d'une page web à différents types d'appareils ayant des tailles d'écran différentes, sans avoir à modifier le moindre élément du contenu de la page
CSS est appelé feuille de style en cascade en raison de la manière dont les valeurs des propriétés sont appliquées à la hiérarchie du contenu. Les éléments enfants peuvent soit hériter des valeurs de propriété de leurs éléments parents, soit les remplacer. Ces capacités sont fournies par un modèle basé sur une portée d'effet hiérarchique. Le problème de ce modèle est que, s'il n'est pas correctement utilisé, il peut sérieusement affecter les représentations d'un site web
Or, personne n'aime les sites Web paresseux. C'est pourquoi le besoin d'optimisation CSS est apparu, ainsi qu'une nouvelle race d'outils explicitement conçus pour rendre les fichiers CSS aussi soignés et rapides que possible
L'optimisation CSS peut se faire de plusieurs manières : Les fichiers CSS peuvent être réduits en taille, nettoyés, testés ou validés pour en vérifier l'exactitude, mis en ordre, formatés pour en comprendre le code et, en général, améliorés pour permettre une meilleure expérience utilisateur. Nous avons fait une sélection des meilleurs outils pour chacune de ces tâches
# CSS Tuning Tools
CSS Minify
CSS Minify est un outil simple qui permet de minifier les feuilles de style CSS : il s'agit de prendre une feuille de style CSS embellie, lisible et bien formée et d'en supprimer tous les espaces, les indentations, les nouvelles lignes et les commentaires. La feuille de style CSS minifiée qui en résulte peut être utilisée avec succès sans ces éléments. En outre, la minification rend le CSS plus difficile à lire, ce qui décourage les voleurs de code de s'emparer de vos feuilles de style
Lorsque vous minifiez votre code, il est conseillé d'en conserver une version embellie (non minifiée), car vous devrez être en mesure de la lire à l'avenir, au cas où vous auriez besoin d'y apporter des modifications
Couche de finition
Couche de finition n'est pas un outil pour optimiser votre CSS. Il s'agit plutôt d'une bibliothèque CSS open-source conçue dans un souci de rapidité. C'est un descendant du langage de conception Adobe développé pour Brackets, Edge Reflow
Topcoat comprend des fichiers PSD et de nombreux autres éléments de conception, ainsi qu'une collection d'icônes SVG simples et épurées et des guides de style. Il propose également des outils d'analyse comparative et la famille de polices Adobe Source Sans Pro
Code Beautifier
Code Beautifier est basé sur CSS Tidy, le populaire analyseur et optimiseur CSS open-source. Il vous permet de coller le code CSS à traiter dans une zone de texte ou de l'obtenir à partir d'une URL. Après avoir effectué son travail, il affiche le code optimisé, ainsi qu'une liste des modifications apportées. Vous pouvez copier le code modifié dans le presse-papiers ou l'enregistrer dans un fichier pour une utilisation ultérieure
L'outil offre une liste d'options importante et complète qui vous permet d'ajuster ses résultats en fonction de vos préférences. Par exemple, il propose cinq options de compression, allant d'une faible compression à la compression la plus élevée. D'autres options vous permettent de spécifier le tri, d'autres formes de compression, la suppression des éléments inutiles, entre autres
CSS Nano
CSS Nano est un autre outil de minification CSS. Celui-ci est basé sur un outil créé pour transformer les styles avec JavaScript, appelé PostCSS. Grâce à l'architecture en plugin de cet outil, les créateurs de CSS Nano ont pu le construire à partir de petits modules aux fonctions restreintes
Par défaut, CSS Nano prend le fichier CSS que vous lui donnez à traiter et n'y effectue que des optimisations sûres. Mais l'outil offre également des options permettant de pousser la compression jusqu'à ses limites. Le fonctionnement du CSS restera le même, mais les espaces inutiles seront supprimés. De même, ses identifiants seront compressés et ses définitions inutiles seront complètement supprimées
# Outils de nettoyage CSS
Vente avec majoration
Une marque sale fait exactement le contraire des minifieurs : il prend n'importe quel code que vous lui donnez et le nettoie, le rendant facile à lire - tant qu'il s'agit de code CSS valide. Le code résultant est parfaitement embelli
Les créateurs de Dirty Markup affirment que près d'un milliard de lignes de code (prenant en compte non seulement les CSS mais aussi le HTML et le JavaScript) ont été embellies à l'aide de leur outil
Sélecteurs Dust-Me
Sélecteurs de poussière a été créé pour analyser un site web et trouver les sélecteurs CSS inutilisés afin de les supprimer et de réduire la taille de votre code. Il fonctionne comme un module complémentaire pour Firefox et Opera
Dust-Me Selectors peut travailler sur une page individuelle ou explorer un plan de site entier, vous montrant les détails de toutes les feuilles de style et de tous les sélecteurs trouvés, en les classant par ordre d'utilisation et d'inutilisation. La version Firefox est capable d'analyser automatiquement les pages au fur et à mesure que vous naviguez. Vous devez seulement tenir compte du fait que, dans ce cas, les événements de mutation peuvent déclencher des analyses supplémentaires si la page change
Lint CSS
Lint CSS offre une interface minimaliste : juste une grande zone de texte dans laquelle vous collez votre code CSS pour qu'il soit "analysé". Il ne dit pas ce que le processus d'analyse va faire à votre code, mais un message d'avertissement en haut de la page vous indique que les résultats vont vous blesser - et aussi vous aider à mieux coder
CSS Lint valide la syntaxe de votre code par rapport à un ensemble de règles prédéfinies. Ce faisant, il détecte les inefficacités et les erreurs potentielles. Avec un peu de personnalisation, CSS Lint vous donne la possibilité de sélectionner l'ensemble des règles que vous souhaitez appliquer
# Outils de test/validation CSS
Test de résistance du CSS
Test de résistance du CSS fonctionne comme un bookmarklet (un petit morceau de code JavaScript) qui applique des tests de stress au code CSS d'une page web donnée. L'outil indexe tous les éléments du code CSS et leurs classes. Il commence ensuite le test de résistance en supprimant les classes une par une et en chronométrant le temps de défilement de la page
Si le temps de défilement de la page diminue considérablement lors de la suppression d'un sélecteur, ce dernier représente une zone problématique qui doit être supprimée ou corrigée. Cet outil fonctionne particulièrement bien avec le code CSS3 sophistiqué qui permet d'obtenir des coins arrondis, de l'opacité, des ombres de texte et des ombres de boîte. Tous ces effets peuvent être réalisés en CSS3 sans utiliser de découpage d'image, de script spécial ou d'ajout d'éléments supplémentaires
Mais CSS3 peut poser des problèmes : une seule propriété peut entraîner des redécoupages visibles et des problèmes de défilement de page. C'est là que le CSS Stress Test peut s'avérer utile
Service de validation CSS
Service de validation CSS valide les feuilles de style en cascade et (X)HTML avec feuilles de style. L'outil vérifie les propriétés définies dans toutes les versions de CSS. Pour valider une page ou un fichier CSS, il vous suffit d'entrer son URI (identificateur de ressource uniforme) et de définir quelques options de base, comme le profil (type de CSS à vérifier), l'appareil cible, les avertissements à afficher et ce qu'il faut faire avec les problèmes liés aux extensions du fournisseur (afficher les erreurs ou les avertissements)
Une fois que tout est prêt, cliquez sur le bouton Vérifier et attendez les résultats. Le rapport final vous présentera une liste complète d'erreurs et d'avertissements, dans laquelle vous trouverez des propriétés invalides, des erreurs de syntaxe, des extensions de fournisseur inconnues, ainsi que de nombreux autres problèmes que vous devriez corriger dans votre CSS afin de le mettre au point. Le rapport vous montrera également tout le code CSS valide dans votre page
BackstopJS 3
BackstopJS 3 automatise les tests de régression visuelle des interfaces utilisateur des sites web réactifs. Il effectue son travail en comparant une série de captures d'écran DOM. Il offre une liste passionnante de fonctionnalités : il y a des rapports dans le navigateur, des paramètres de mise en page pour l'impression et l'écran, et d'autres fonctionnalités spécifiques, comme le filtrage de l'affichage et l'inspecteur de référence/test/différences visuelles
En utilisant les scripts Puppeteer et ChromyJS, BackstopJS 3 peut simuler les interactions de l'utilisateur, et il est capable de rendre les tests avec Chrome Headless. Afin d'éliminer les problèmes de rendu multiplateforme, il intègre également le rendu docker. L'outil peut être exécuté globalement ou localement en tant que paquet autonome, et il est compatible avec CI et le contrôle de source. BackstopJS 3 est très facile à utiliser : avec seulement trois commandes, vous pouvez aller très loin
Conclusion
J'espère que les outils CSS ci-dessus vous aideront à optimiser les fichiers CSS de votre application web pour de meilleures performances. Si vous êtes intéressé par l'apprentissage des CSS avancés, jetez un coup d'œil à ce cours brillant.