Classes CSS générées par WordPress pour les images

Dans WordPress, de nombreuses classes CSS sont impliquées dans la gestion des images. Plusieurs options sont disponibles depuis l’interface des médias, chacune ajoutant une classe CSS dans les éléments HTML `img` ou `div` (si une légende est spécifiée). Cet article propose un rapide aperçu des classes CSS permettant d’aligner les images avec les styles CSS associés, de gérer les formats d’images ainsi que les légendes. Nous verrons aussi comment, à partir des classes générées automatiquement par WordPress, utiliser les classes multiples — comme .classe1.classe2 { … } sans espace entre .classe1 et .classe2 — pour faire face à tous les cas de figure concernant les formats, les alignements ou la présence ou non de légendes.

"Ajouter une image" depuis l'interface d'administration de WordPress

Classes CSS pour aligner les images

  • Aucun — .alignnone {}
  • Gauche — .alignleft {}
  • Centre — .aligncenter {}
  • Droite — .alignright {}

Les styles associés (à titre indicatif)

img.alignnone {
    margin: 0 1em;
}
img.alignleft {
    float: left;
    margin-right: 1.5em;
}
img.aligncenter {
    display: block;
    margin: 1em auto;
}
img.alignright {
    float: right;
    margin-left: 1.5em;
}

Formats des images

Les formats (tailles) sont précisés dans Réglages → Médias.

  • Miniature — .size-thumbnail {}
  • Moyenne — .size-medium {}
  • Large — .size-large {}
  • Taille originale — .size-full {}

A ce niveau, on peut déjà s’amuser avec les classes multiples en stylant différemment les images selon leurs alignements et leurs formats :

  • .size-thumbnail.alignnone {}
  • .size-medium.alignleft {}
  • .size-large.aligncenter {}
  • .size-full.alignright {}
  • Etc.

Légende (caption)

Lorsqu’on ajoute une légende, notre image est enveloppée dans une balise `div` ; une balise `p` englobe la légende. Les classes impliquées dans l’alignement de l’image sont déplacées sur cette balise `div` qui contient déjà une classe `.wp-caption`. Ce qui nous donne les combinaisons suivantes :

  • .wp-caption.alignright {}
  • .wp-caption.alignleft {}
  • .wp-caption.alignnone {}
  • .wp-caption.aligncenter {}
  • .wp-caption.alignnone {}

Les classes CSS impliquées dans le format restent chevillées à la balise `img`. Ce qui élargit encore notre terrain de jeu :

  • .wp-caption.alignright .size-thumbnail {}
  • .wp-caption.alignleft .size-medium {}
  • .wp-caption.alignnone .size-large {}
  • .wp-caption.aligncenter .size-full {}
  • etc.

(Je vous fais grâce de toutes les combinaisons dont l’intérêt est tout relatif).

Classes multiples dans IE6 ?

N’hésitez pas à lire le billet 3 fonctions Javascript pour lutter contre le bug des classes multiples dans IE6 pour utiliser les classes multiples dans IE6 : une fonction simple avec jQuery, une autre plus évoluée (toujours avec jQuery) et une dernière fonction en pur Javascript pour ne pas charger la mule !