Picture

La balise <picture> permet de définir plusieurs sources à une balise <img>. Cet fonctionnalité permet de spécifier certaines sources d'images mieux adaptées à l'écran de l'utilisateur.

Par exemple, une balise <img> de base est utilisée à gauche. Remarquez comment le sujet perd de son importance lorsqu'il est affiché dans un format étroit. Tandis qu'à droite, une balise <picture> permet de changer la source de ladite image afin d'afficher une version au cadrage plus serré sur le sujet lorsque l'écran est étroit.

Jean Leloup
Photo: Valérian Mazataud Le Devoir

Pour définir une <picture> de base, il suffit de spécifier une balise <img> à l'intérieur de celle-ci.

Par exemple:

<picture> <img src="img.jpg"> </picture>

Cet exemple minimaliste affichera toujours la balise <img> avec son contenu original inclus dans l'attribut src. Bref, l'incorporation de la balise <picture> n'aura aucun effet.

Il ne peut y avoir qu’une seule balise <img> à l’intérieur d’une balise <picture>. Sources & conditions

Il est possible de spécifier une ou plusieurs sources alternatives grâce à la balise <source>.

Par exemple:

<picture> <source srcset="img-large.jpg" media="(min-width: 1000px)"> <img src="img.jpg"> </picture>

Lorsque des <source> sont présentes, le navigateur les parcours une à la suite de l'autre et dès qu'une d'entre elles voit sa condition être respectée, la valeur de son srcset est attribuée au src de la balise <img> voisine.

Bref, si l'écran à une largeur équivalente ou supérieure à 1000px, img-large.jpg sera affichée, sinon img.jpg sera utilisée.

Il est possible d'utiliser l'ensemble des conditions offertes dans les média queries CSS.

Les balises <source> doivent-être inscrites avant la balise <img>. Utilité
  • Recadrer une image selon l'espace disponible.
  • Afficher une image dans une résolution correspondant à celle de l'écran de l'utilisateur.
  • Afficher des images mieux agencées au thème de l'utilisateur foncé ou clair.
  • Éviter d'afficher des GIFs animés aux individus ayant spécifiés préférer éviter autant que possible les animations.
  • Fournir une image optimisée pour l'impression.
picture picture
EXERCICE Picture - Ant-man Pour cet exercice, vous devrez aider Ant-Man à maîtriser les particules de Pym afin d’ajuster sa taille en fonction de la largeur de l’écran.