--- title: slug: Web/CSS/image tags: - CSS - CSS Images - Reference - Type translation_of: Web/CSS/image ---
{{CSSRef}}

Le type de donnée CSS <image> représente une image en deux dimensions. Il existe deux types d'images en CSS : les images statiques (souvent utilisées via une URL (cf. {{cssxref("<url>")}})), et les images générées dynamiquement comme les dégradés (cf. {{cssxref("<gradient>")}}) ou les images construites à partir de fragments de l'arbre du DOM ({{CSSxRef("element")}}). D'autres fonctions peuvent être utilisées pour créer des images comme {{CSSxRef("imagefunction", "image()")}}, {{CSSxRef("image-set")}} et {{CSSxRef("cross-fade")}}.

Les images peuvent être utilisées pour de nombreuses propriétés CSS dont, par exemple, {{cssxref("background-image")}}, {{cssxref("border-image")}}, {{cssxref("content")}}, {{cssxref("list-style-image")}} et {{cssxref("cursor")}}.

Les types d'images

Le CSS permet de manipuler différentes sortes d'images :

Le CSS détermine la taille concrète de l'objet en utilisant ces dimensions intrinsèques, la taille spécifiée définie par les propriétés CSS comme {{cssxref("width")}}, {{cssxref("height")}} ou {{cssxref("background-size")}}, et la taille par défaut de l'objet définie en fonction de la propriété utilisée :

Type d'objet Taille par défaut de l'objet
{{cssxref("background-image")}} La taille de la zone de positionnement de l'arrière-plan
{{cssxref("list-style-image")}} La taille d'un caractère de 1em
{{cssxref("border-image-source")}} La taille de la zone de bordure de l'élément
{{cssxref("cursor")}} La dimension correspondant à la taille d'un curseur sur le système utilisé
{{cssxref("mask-image")}} ?
{{cssxref("shape-outside")}} ?
{{cssxref("mask-border-source")}} ?
{{cssxref("symbols")}} pour @counter-style Une fonctionnalité en cours de discussion. Si elle est prise en charge, la taille utilisée sera celle des curseurs utilisés par le système.
{{cssxref("content")}} avec les pseudo-éléments {{cssxref("::after")}} et {{cssxref("::before")}} Un rectangle de 300px × 150px

La taille concrète de l'objet est calculée selon l'algorithme suivant :

Les images peuvent être utilisées pour de nombreuses propriétés CSS comme {{cssxref("background-image")}}, {{cssxref("border-image")}}, {{cssxref("content")}}, {{cssxref("list-style-image")}} ou {{cssxref("cursor")}}.

Note : tous les navigateurs ne supportent pas n'importe quel type d'image sur n'importe quelle propriété. Voir la section compatibilité des navigateurs pour une liste explicative.

Syntaxe

Un type de donnée CSS <image> peut représenter un type parmi les suivants :

Exemples

Voici des exemples valides d'images :

url(test.jpg)              /* La fonction url() fonctionne tant que test.jpg est bien une image */
linear-gradient(blue, red) /* Un dégradé (<gradient>) */
element(#colonne3)         /* Utilisation d'un élément de la page via la fonction element(),
                              si colonne3 est bien un identifiant CSS existant. */
image(ltr 'arrow.png#xywh=0,0,16,16', red)
                           /* Une section de 16x16 pixels de l'image arrow.png et qui démarre au coin
                              supérieur gauche de l'image et qui sera utilisée si arrow.png est à un
                              format pris en charge. Sinon, ce sera un fond rouge qui sera utilisé.
                              Si la langue est écrite de gauche à droite, l'image sera inversée
                              horizontalement. */
cross-fade(20% url(vingt.png), url(quatrevingt.png));
                           /* Deux images superposées où « vingt » est 20%
                              opaque et « quatrevingt » compose les 80%
                              restants. */
image-set('test.jpg' 1x, 'text-2x.jpg' 2x);
                           /* Un ensemble d'images avec différentes résolutions. */

Voici des exemples invalides :

nourl.jpg            /* Le fichier de l'image doit être ciblé via la fonction url(). */
url(report.pdf)      /* Le fichier référencé par la fonction url() doit être une image. */
element(#fakeid)     /* Ne fonctionne pas si 'fakeid' n'est pas un identifiant existant. */
image(z.jpg#xy=0,0)  /* L'indicateur de fragment doit avoir la forme xywh=#,#,#,# */
image-set('chat.jpg' 1x, 'chien.jpg' 1x) /* Chaque image doit avoir une résolution différente */

Accessibilité

Les navigateurs ne fournissent pas d'information aux outils d'assistance pour les images d'arrière-plan. Cela est particulièrement important pour les lecteurs d'écran car ces derniers ne pourront pas annoncer la présence de ces informations aux utilisateurs. Si l'image contient des informations critiques pour la compréhension générale de la page, mieux vaudra décrire ces informations de façon sémantique dans le document.

Spécifications

Spécification État Commentaires
{{SpecName("CSS3 Images", "#typedef-image", "<image>")}} {{Spec2('CSS3 Images')}} Définition initiale. Avant CSS3, il n'existait pas de type défini de façon explicite pour les images. Celles-ci pouvaient uniquement être utilisées via la notation fonctionnelle url().
{{SpecName("CSS4 Images", "#typedef-image", "<image>")}} {{Spec2('CSS4 Images')}} Ajout de {{cssxref("element()")}}, {{cssxref("image()")}}, {{cssxref("image-set()")}}, {{cssxref("conic-gradient")}}, {{cssxref("repeating-conic-gradient", "repeating-conic-gradient()")}} et {{cssxref("image-resolution")}}.

Compatibilité des navigateurs

{{Compat("css.types.image")}}

Voir aussi