Faut-il sauver le soldat CSS ?

Les styles en ligne, c'est de la marde

Le monde des CSS est agité par des questions existentielles. Dernier débat à la mode : on reproche à CSS de ne pas être un langage de programmation. Ce qui gêne dans CSS ? Une broutille ! Principalement le « C » de cascade et le « S » de stylesheet, reste le style. Il est vrai que la cascade est un mécanisme puissant qui peut poser des problèmes de prédictibilité sur les styles d’un éléments donné. Pas facile, en effet, de prédire le destin d’un élément situé en bout de chaine une fois qu’il est sous la cascade. Voici un résumé du débat en question.

Voilà ce que l’on reproche à CSS :

  • Tout est global : il faut une solide stratégie de nommage pour éviter les problèmes.
  • Les CSS s’alourdissent avec le temps : il est plus facile et souvent moins risqué d’ajouter des déclarations que d’en enlever.
  • Javascript est plus dynamique : et vu qu’on a déjà fait un pas dans ce sens avec Less et Sass, pourquoi ne pas aller jusqu’au bout de la logique et tout passer en JS !

La solution ?

Injecter les CSS via des frameworks Javascript dans les balises HTML. Oui, vous avez bien lu : les styles en ligne seraient l’avenir des CSS, pardon, des styles tout court, puisque ainsi on éviterait les problèmes liés à la cascade et on se passerait des feuilles de styles.

Ceci dit, voici deux articles qui ont le mérite de poser de bonnes questions, même si les réponses ne sont pas forcément adaptées à tous les flux de production :

  • ICSS — Interoperable CSS, Un standard CSS pour l’âge de plomb des temps de réponse ? 😀
  • CSS Tricks — “Do We Even Need CSS Anymore?” A-t-on même encore besoin de CSS ?