Images HTML et images de fond CSS

Images HTML ou images de fond CSS : quand utiliser chacune | We.Inc

Choisissez entre <img> et background-image, rédigez le texte alt, évitez les décalages de mise en page, construisez srcset et sizes, chargez en différé et servez du WebP ou de l'AVIF avec <picture>.

Images HTML et images de fond CSS

Utilisez un <img> quand l'image est du contenu : une photo de produit, un graphique, un portrait. Donnez-lui un texte alt, une largeur et une hauteur. Utilisez un background-image CSS quand l'image est une décoration derrière du texte. Ajoutez srcset et sizes pour que les téléphones téléchargent des fichiers plus légers, et loading="lazy" pour les images situées sous le premier écran, jamais pour le hero.

<img> ou background-image ?

Un tableau de décision, un générateur de srcset qui montre quel fichier un téléphone ou un portable téléchargerait, et des exemples modifiables de chaque modèle : texte alt, dimensions fixes, chargement différé, image hero rapide, recadrage avec object-fit à côté de background-size, formats modernes avec <picture>, et images de fond responsive avec image-set().

Questions fréquentes

background-image est-il mauvais pour le SEO ?

Les moteurs de recherche indexent les images présentes dans des éléments <img> bien plus fiablement que celles définies en CSS. Si vous voulez qu'une image apparaisse dans la recherche d'images ou décrive votre contenu, placez-la dans un <img> avec un bon texte alt. Les fonds décoratifs ne perdent rien à être en CSS.

Que doit dire le texte alt ?

Dites ce que l'image montre d'important dans ce contexte, en une courte phrase. Pour une photo de produit, ce peut être le produit et sa couleur ; pour un graphique, la conclusion principale. Évitez les formules comme image de. Si l'image est un lien, décrivez où mène le lien.

Quelle est la différence entre srcset avec w et avec x ?

Les descripteurs de largeur (480w, 960w) indiquent la largeur réelle de chaque fichier et laissent le navigateur choisir à l'aide de l'attribut sizes et de la densité de pixels de l'écran. Les descripteurs de densité (1x, 2x) conviennent aux images toujours affichées à une seule taille fixe, comme un logo.

Dois-je encore utiliser loading="lazy" si j'utilise un framework ?

Le chargement différé natif fonctionne dans tous les navigateurs majeurs actuels, un simple attribut suffit donc pour la plupart des images. Les composants d'image des frameworks l'ajoutent souvent pour vous ; vérifiez qu'ils ne chargent pas aussi l'image hero en différé.

Ai-je besoin à la fois du WebP et de l'AVIF ?

Pas toujours. Les deux formats sont pris en charge par les navigateurs majeurs actuels. L'AVIF est souvent plus léger pour les photos mais plus lent à encoder. Un élément <picture> avec une source AVIF, une source WebP et un JPEG de repli couvre tout le monde, mais le WebP seul avec un JPEG de repli est un choix plus simple et raisonnable.

Contenu ou décoration

Comment le navigateur choisit dans srcset

Décalage de mise en page et image hero

Un <img> complet

alt, width, height et chargement différé

Les attributs donnent la taille réelle ; le CSS la rend fluide. Grâce à width et height, l'espace est réservé avant le chargement du fichier. Les images de démo sont de petits SVG intégrés.

L'image hero : chargement immédiat et priorité haute

Utilisez ceci sur la seule grande image en haut de la page. Tout ce qui se trouve sous le premier écran reçoit loading="lazy" à la place.

Règles du texte alt

Texte alt selon le type d'image

object-fit: cover à côté de background-size: cover

Les deux recadrent une image pour remplir un cadre sans la déformer. object-position et background-position choisissent quelle partie reste visible.

Le même recadrage, de deux façons

À gauche, un <img> avec object-fit ; à droite, une div avec une image de fond. Elles se ressemblent ; seule celle de gauche a un texte alt et le chargement différé.

Images de fond CSS

Un fond derrière du texte, avec une couleur de repli

Le dégradé sombre superposé garde le texte blanc lisible sur n'importe quelle photo, et la couleur de fond s'affiche si l'image ne se charge pas.

Fonds responsive avec image-set()

image-set() laisse le navigateur choisir selon la densité de pixels ou le type de fichier. Gardez d'abord une ligne url() simple pour les anciens navigateurs.

WebP et AVIF avec <picture>

Formats modernes avec un JPEG de repli

Le navigateur utilise la première <source> dont il prend en charge le type. Le <img> à l'intérieur porte le texte alt, la taille et le fichier de repli, et c'est l'élément que vous stylez.

Générateur de srcset et sizes

Largeurs exportées (px)

Chemin du fichier sans la largeur

Extension

À quelle largeur l'image est-elle affichée ?

Saisissez au moins une largeur.

Copier

Quel fichier un appareil téléchargerait-il ?

Petit téléphone

Grand téléphone

Tablette

Portable

Portable Retina

Largeur d'écran : {vw}px

Densité de pixels : {dpr}x

L'image est affichée sur {slot}px de large, le navigateur a donc besoin d'environ {px} pixels physiques et téléchargerait normalement

rien pour l'instant

(le plus grand fichier, plus petit que l'idéal : pensez à en exporter un plus large)

Les navigateurs peuvent choisir un fichier plus petit sur une connexion lente ou un plus grand déjà en cache ; ceci montre le choix habituel.

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site