Un bon effet CSS c’est comme une bonne blague

Le petite casse-tête de cette semaine m’a fait réaliser quelque chose que j’avais en tête depuis quelques mois. Un bon effet CSS c’est comme une bonne blague. Pour que ça marche, ça doit être court, bien écrit et explicite. Voici un exemple :

Avez vous déjà remarqué que les femmes qui sont contre l’avortement sont des femmes que vous n’auriez pas voulu baiser en premier lieu ?

Ça, mesdames et messieurs, c’est George Carlin au Carnegie Hall en 1984. Ce n’est pas une blague qu’il sort en plein milieu du spectacle, après un long moment de préparation du public. Non. Il arrive sur scène, il salue le public et le remercie. Et il sort cette blague. Sérieusement, si vous ne connaissez pas George Carlin, regardez-le.

Ce genre de blague, c’est ce qu’on appelle en anglais une « one-liner« . Une blague courte, parfaitement racontée, et qui demande une petite seconde de réflexion avant de bien comprendre toute sa subtilité (un peu comme une doublette). Dans ce domaine, Demetri Martin est mon dieu vivant :

Demetri Martin

Dire « Je suis désolé » c’est la même chose que « Je m’excuse ». Sauf à un enterrement.

C’est vraiment la même chose en CSS. Un bon effet CSS, ça doit être :

  • court : s’il vous faut 36 balises et autant de règles CSS, vous allez passer pour le lourdingue de service. Je pense que la séparation de la forme et du contenu devient enfin possible. Profitez-en.
  • bien raconté : si vous écrivez du CSS, alors écrivez du CSS. Par pitié ne venez pas utiliser d’autres pseudo-langages et des tonnes de JavaScript.
  • explicite : votre code doit être suffisamment ingénieux et explicite à lui tout seul. En reprenant l’exemple de mon casse-tête, la solution trouvée n’est pas la plus intuitive ni la première qui vient à l’esprit. Mais une fois qu’on la connaît, elle paraît évidente. Vous devez dans tous les cas éviter la surréflexion.

Mes effets préférés en CSS, comme mes blagues préférées, sont des one-liners.

  1. MoOx, le

    C’est tout à fait vrai ce que tu dis.
    Quand on voit les paquebots de code sur cssdeck et ce genre de gallery…
    Je tente de faire un lib simple basé sur Sass et Compass avec des mixins (pas encore assez bien documenté ma fois) qui se base sur aucun markup complementaire (sauf rares exceptions ou on peut préciser en option un selecteur eventuellement)
    http://moox.github.com/compass-recipes/