La propriété background-image
permet de définir une ou plusieurs images comme arrière(s)-plan(s) pour un élément. Les images sont dessinées les unes au-dessus des autres. La première image indiquée est dessinée comme étant la plus proche de l'utilisateur.
Les bordures de l'élément sont dessinés par-dessus l'arrière-plan et la couleur background-color
est dessinée sous l'arrière-plan. La position et les limites de chaque image sont gérées grâce aux propriétés background-clip
et background-origin
.
Si une image donnée ne peut pas être chargée (par exemple lorsqu'il est impossible de chargé un fichier via l'URI indiquée), les navigateurs considèreront la valeur comme none
.
background-color
au cas où les images ne peuvent être chargées.Valeur initiale | none |
---|---|
Applicabilité | tous les éléments. S'applique aussi à ::first-letter et ::first-line . |
Héritée | non |
Média | visuel |
Valeur calculée | comme spécifié mais avec une URI relative convertie en une URI absolue |
Animable | non |
Ordre canonique | l'ordre unique et non-ambigu défini par la grammaire formelle |
Syntaxe
background-image: none; background-image: url("https://www.exemple.xyz/bck.png"); background-image: inherit;
Valeurs
none
- Un mot-clé qui indique qu'aucune image ne doit être utilisée comme arrière-plan.
<image>
- Une valeur
<image>
qui indique l'image à afficher. On peut avoir plusieurs images en arrière-plan en séparant les valeurs par des virgules.
Syntaxe formelle
<bg-image>#où
<bg-image> = none | <image>
où
<image> = <url> | <image()> | <image-set()> | <element()> | <cross-fade()> | <gradient>
où
<image()> = image( [ [ <image> | <string> ]? , <color>? ]! )
<image-set()> = image-set( <image-set-option># )
<element()> = element( <id-selector> )
<cross-fade()> = cross-fade( <cf-mixing-image> , <cf-final-image>? )
<gradient> = <linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()>où
<color> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>
<image-set-option> = [ <image> | <string> ] <resolution>
<cf-mixing-image> = <percentage>? && <image>
<cf-final-image> = <image> | <color>
<linear-gradient()> = linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )
<repeating-linear-gradient()> = repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )
<radial-gradient()> = radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )
<repeating-radial-gradient()> = repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )où
<rgb()> = rgb( <rgb-component>#{3} )
<rgba()> = rgba( <rgb-component>#{3} , <alpha-value> )
<hsl()> = hsl( <hue>, <percentage>, <percentage> )
<hsla()> = hsla( <hue>, <percentage>, <percentage>, <alpha-value> )
<named-color> = <ident>
<deprecated-system-color> = ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText
<side-or-corner> = [ left | right ] || [ top | bottom ]
<color-stop-list> = <color-stop>{2,}
<ending-shape> = circle | ellipse
<size> = closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}
<position> = [[ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ]]où
<rgb-component> = <integer> | <percentage>
<alpha-value> = <number>
<hue> = <number>
<color-stop> = <color> <length-percentage>?
<length-percentage> = <length> | <percentage>
Exemples
On voit ici l'effet obtenu avec plusieurs images : l'étoile est légèrement transparente et se superpose par-dessus l'image du chat.
HTML
<div> <p class="catsandstars"> Un paragraphe avec des chats<br/> et des étoiles. </p> <p>Pas ici.</p> <p class="catsandstars"> Et voilà encore des chats.<br/> Et des étoiles ! </p> <p>Puis plus rien.</p> </div>
CSS
pre, p { font-size: 1.5em; color: #FE7F88; background-color: transparent; } div { background-image: url("https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png"); } p { background-image: none; } .catsandstars { background-image: url("https://mdn.mozillademos.org/files/11991/startransparent.gif"), url("https://mdn.mozillademos.org/files/7693/catfront.png"); background-color: transparent; }
Résultat
Spécifications
Spécification | État | Commentaires |
---|---|---|
CSS Backgrounds and Borders Module Level 3 La définition de 'background-image' dans cette spécification. |
Candidat au statut de recommandation | La propriété a été étendue pour gérer plusieurs arrières-plans et le type de donnée CSS <image> . |
CSS Level 2 (Revision 1) La définition de 'background-image' dans cette spécification. |
Recommendation | La gestion des dimensions intrinsèques (lorsqu'elles sont absentes ou présentes) est décrite. |
CSS Level 1 La définition de 'background-image' dans cette spécification. |
Recommendation | Définition initiale. |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 1.0 | 1.0 (1.7 ou moins)[1] | 4.0 | 3.5 | 1.0 |
Plusieurs arrières-plans | 1.0 | 3.6 (1.9.2) | 9.0 | (Oui) | 1.3 |
Gradients | 1.0-webkit | 3.6 (1.9.2)-moz | 10 | 11-o | 4.0-webkit |
Images SVG | 8.0 | 4.0 (2.0) | 9.0 | 9.5 | 5.0 [2] |
element |
? | (Oui)-moz | Pas de support | Pas de support | Pas de support |
image-rect |
Pas de support | (Oui)-moz | Pas de support | Pas de support | Pas de support |
N'importe quelle valeur <image> . |
? | Pas de support | ? | ? | ? |
Fonctionnalité | Safari Mobile | Opera Mini | Opera Mobile | Android |
---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) |
Plusieurs arrières-plans | (Oui) | (Oui) | (Oui) | (Oui) |
Gradients | (Oui) -webkit [3] |
? | ? | (Oui) -webkit [4] |
Images SVG | (Oui) [2] | (Oui) | (Oui) | Pas de support |
element |
(Oui)-moz | ? | ? | ? |
image-rect |
(Oui)-moz | Pas de support | Pas de support | Pas de support |
N'importe quelle valeur <image> |
Pas de support | ? | ? | ? |
[1] Si la préféence browser.display.use_document_colors
vaut false
, les images d'arrière-plan ne seront pas affichées.
[2] Le support SVG des arrières-plans CSS est incomplet pour Safari pour iOS 5.0 et les versions antérieures.
[3] Ancienne syntaxe WebKit pour iOS 4.2 et antérieurs.
[4] Ancienne syntaxe WebKit.