Salut Maxence.
Alors, voici mon explication.
Les attributs srcset
et sizes
sont utilisés dans les éléments img
pour améliorer la qualité de l’affichage d’une image sur différents écrans et appareils.
L’attribut srcset
permet de spécifier une liste d’images et leurs tailles respectives, afin que le navigateur puisse choisir celle qui convient le mieux en fonction de la résolution de l’écran et de la largeur disponible. Par exemple :
<img srcset="image-small.jpg 640w, image-medium.jpg 1024w, image-large.jpg 1440w" src="image-medium.jpg" alt="Mon image">
Dans cet exemple, srcset
définit trois versions de l’image, avec leurs tailles respectives indiquées en termes de largeur en pixels (640 pixels, 1024 pixels et 1440 pixels). Le navigateur choisira l’image la plus adaptée en fonction de la résolution de l’écran et de la largeur disponible dans le conteneur de l’image.
L’attribut sizes
permet de spécifier la taille de l’image en fonction de la largeur du conteneur de l’image. Par exemple :
<img srcset="image-small.jpg 640w, image-medium.jpg 1024w, image-large.jpg 1440w" sizes="(max-width: 640px) 640px, (max-width: 1024px) 1024px, 1440px" src="image-medium.jpg" alt="Mon image">
Dans cet exemple, sizes
indique que si la largeur du conteneur de l’image est inférieure à 640 pixels, l’image utilisée sera de 640 pixels de large ; si elle est inférieure à 1024 pixels, l’image utilisée sera de 1024 pixels de large ; et si elle est supérieure ou égale à 1024 pixels, l’image utilisée sera de 1440 pixels de large. Cela permet de charger une image de la taille appropriée en fonction de la résolution de l’écran et de la largeur disponible.
sizes
et srcset
doivent donc tous les deux être présents dans ton code. L’un pour lister les images disponibles, l’autre pour dire laquelle charger en fonction de la largeur de son conteneur.