Une remarque ? Une suggestion ?...

Merci de participer à l'amélioration de ce site. Prenez le temps de rédiger votre remarque le plus précisément possible :

background - Propriété CSS

background

Résumé des caractéristiques de la propriété background

Description rapide
Résumé des propriétés de l'arrière-plan.
Statut
Standard
Type de valeur
Voir les propriétés individuelles.
Pourcentages
Voir les propriétés individuelles.
Valeur initiale
Voir les propriétés individuelles.
Héritée par défaut
Non
Type d'animation
Voir les propriétés individuelles.
Module W3C
Module CSS - Arrière-plans et bordures
Références (W3C)
Statut du document:: CRD (document proposé pour la recommandation)

Description de la propriété background.

background est une propriété du langage CSS, qui définit l'ensemble des paramètres des arrière-plans. Ces derniers pouvant être constitués d'une simple couleur, d'une image, d'un dégradé, ou d'une combinaison de plusieurs de ces couches.

background est une propriété résumée, qui regroupe plusieurs propriétés définissant l'arrière-plan. Les valeurs sont séparées par des espaces.

L'ordre des valeurs n'a pas trop d'importance car les valeurs possibles sont différentes d'une propriété à l'autre, sauf en ce qui concerne background-position et background-clip qui doivent être citées dans cet ordre.

  • background-image : définit une image ou un dégradé pour l'arrière-plan.
  • background-position : définit la position de l'image d'arrière-plan.
  • background-size : définit la taille de l'image d'arrière-plan.
  • background-repeat : définit si l'image d'arrière-plan est affichée une seule fois ou répétée jusqu'à couvrir toute la surface de l'élément.
  • background-attachment : définit si l'image d'arrière-plan va défiler avec le contenu, avec la page ou rester fixe.
  • background-origin : définit le point de référence pour le positionnement de l'arrière-plan.
  • background-clip : définit jusqu'où doit s'étendre l'arrière-plan : uniquement sous le contenu, jusque sous la bordure, etc.
  • background-color : définit une couleur unie pour l'arrière-plan.

Exemples de syntaxe.

  • background: url('image.png') #f04218;

    Cette syntaxe définit une image de fond et une couleur. Cette dernière ne sera visible que si l'image comporte des parties transparentes.

  • background: linear-gradient(90deg,transparent,blue) #f04218;

    Cette syntaxe définit un dégradé (à la place d'une image) et une couleur. Cette dernière sera visible puisque le dégradé comporte une partie transparente.

  • background: url('imgage.png') no-repeat fuchsia;

    Cette syntaxe définit un arrière-plan comportant une image unique (non répétée) et une couleur. Cette dernière sera visible autour de l'image si celle-ci est plus petite que l'élément, et bien sûr à travers les parties transparentes de l'image.

  • background: url('image.png') content-box;

    Cette syntaxe définit un arrière-plan avec une image, et limité à la zone du contenu (l'arrière-plan ne s'étend pas sous les marges intérieures, ni sous les bordures). D'autre part, le positionnement de cette image se fera également par rapport à la zone de contenu.
    Lorsqu'une seule valeur ...box est présente une seule fois, elle s'applique aussi bien à la position de l'arrière plan (background-origin) qu'à son découpage (background-clip).

  • background: url('image.png') content-box border-box;

    Cette syntaxe définit un arrière-plan avec une image, positionné par rapport à la zone de contenu, et qui s'étend jusqu'à la bordure.
    Lorsque deux valeurs ...box sont présentes, la première s'applique à la position de l'arrière-plan (background-origin) et la deuxième à son découpage (background-clip).

  • background: initial; background: inherit; background: revert; background: revert-layer; background: unset;

    La valeur initiale est : Voir les propriétés individuelles. .

Règles générales sur les arrière-plans.

Un arrière-plan est composé d'une couleur et/ou d'une image. Si les deux sont définies, la couleur et positionnée en dessous de l'image : elle sera visible dans les parties transparentes de l'image, ou à coté de l'image si celle-ci est plus petite que l'élément et qu'elle n'est pas répétée.
La couleur peut également être mélangée avec l'image (voir background-blend-mode).

Exemple : l'arrière-plan de l'élément ci-dessous est composé d'une couleur (lightBlue) et d'une image (un cercle blanc avec de la transparence autour).

L'image peut être remplacée par un dégradé. Six fonctions permettent de définir un dégradé : conic-gradient(), linear-gradient(), radial-gradient() et leurs variantes en dégradé répétitif.

Arrière-plans multiples.

Principe.

Il est possible de définir plusieurs arrière-plans pour un même élément. Ces arrière-plans se superposent dans l'ordre de leur déclaration, le premier cité au dessus. Les arrière-plans suivants ne sont donc pas visibles, sauf dans les cas suivants :

  • Une ou plusieurs des première images n'ont pas été trouvées.
  • Les premières images comportent des zones transparentes.
  • On a prévu un mélange entre les différents arrière-plan avec la propriété background-blend-mode.

Chacune des propriétés relatives aux arrière-plans peut alors comporter une série de valeurs séparées par des virgules, chacune de ces valeurs correspondant à un des arrière-plans.

La propriété background-color fait cependant exception : une seule couleur de fond peut être définie, avec le dernier arrière-plan. Elle sera commune à tous les arrière-plans.

Voici un exemple de deux arrière-plans construits avec les images ci-dessous.

background-1 background-3
background-1.png background-3.png

 :

Nombres de valeurs différents.

Comment le navigateur va-t-il procéder si le nombre de valeurs est différent d'une propriété à l'autre ?
Dans notre exemple ci-dessous, background-image comporte trois valeurs, tandis que background-size en comporte quatre, et que background-position n'en comporte que deux.

background-image: url('image1.png'), url('image2.png'), linear-gradient(0,blue,lightblue); background-repeat: repeat, repeat, no-repeat, background-size: contain, cover, cover, contain; background-position: border-box, content-box;

Voici les règles :

  • La propriété qui sert de référence pour dénombrer les arrière-plans est background-image. Dans notre exemple background-image compte 3 valeurs.
  • Si les autres propriétés ont un nombre de valeurs identique, les choses sont simples : on affecte chacune des valeurs à l'arrière-plan correspondant. C'est le cas de background-repeat dans notre exemple.
  • Si des propriétés ont des paramètres en plus, ceux-ci seront ignorés. Dans notre exemple background-size a quatre valeurs. La dernière ne sera affectée à aucun des arrière-plan : elle sera ignorée.
  • Enfin, dans le cas ou des propriétés ont moins de valeurs, comme background-position dans l'exemple, la navigateur affecte les valeurs en bouclant sur celles qui sont disponibles. Ainsi image1 aura la position border-box, image2 la position content-box, et image3 sera positionnée sur border-box (on est revenu sur la première valeur).
    La conséquence est que si une seule valeur est définie pour une des propriétés, elle s'appliquera à tous les arrière-plans.

Remarque : Le fait de définir une couleur et une image ne crée par deux arrière-plans.

Propriété résumée.

La propriété résumée background ne permet pas ce genre de fonctionnement, car elle définit toutes les valeurs : quand une valeur n'est pas précisée, elle est fixée à sa valeur par défaut. On a donc toujours le même nombre de valeurs pour chacun des paramètres d'arrière-plan.

Dans l'exemple ci-dessous, image2 et image3 seront répétées (la valeur par défaut pour background-repeat est repeat).

background: url('image1.png') no-repeat, url('image2.png'), url('image3.png');

Exemples.

Cliquez sur les exemples pour afficher leur code CSS.


Arrière-plan défini d'après une couleur

Arrière-plan défini par une image.
Arrière-plan défini par une image ET une couleur.
Cette dernière sera visible si l'image est introuvable ou si elle comporte des paries transparentes.
Arrière-plan défini par une image,
avec précision sur le positionnement de celle-ci et sur sa répétition.
Arrière-plan défini par un dégradé
Voir la fonction linear-gradient().

Prise en charge par les navigateurs (compatibilité).

La gestion des arrière-plans, uniques ou multiples ne posent plus de problème avec les navigateurs actuels.

Colonne 1
Support des arrière-plans et de la propriété CSS background.
Colonne 2
Prise en charge des arrière-plans multiples.
Colonne 2
Possibilité d'utiliser des images au format SVG comme image d'arrière-plan.
1
background
2
Multiples
3
SVG
Estimation de la prise en charge en pourcentage du parc actuel.
96%
99%
98%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Androïd Brower

Baidu Browser

Chrome

Chrome pour Androïd

Edge

Firefox

Firefox pour Androïd

Internet Explorer

KaiOS Browser

Opéra

Opéra Mobile

QQ Browser

Safari

Safari sur IOS

Samsung Internet

Oméra mini

Voir aussi, dans le même module de standardisation que background.

Les spécifications CSS éditées par le W3C sont organisées en modules. background fait partie du Module CSS - Arrière-plans et bordures (CSS Backgrounds and Borders Module). Les définitions suivantes sont également décrites dans ce même module.

Propriétés.

Mode de défilement de l'image d'arrière-plan.
Définit l'étendue de l'arrière-plan, en particulier par rapport à la bordure et aux marges intérieures..
Définit la couleur de l'arrière-plan.
Image d'arrière-plan.
Position de l'image d'arrière-plan.
Définit comment se positionne l'image d'arrière-plan.
Définit comment se positionne l'image d'arrière-plan dans le sens horizontal.
Définit comment se positionne l'image d'arrière-plan dans le sens vertical.
Définit comment est répété l'image d'arrière-plan.
Dimensionnement de l'image d'arrière-plan.
Propriété résumée qui définit l'ensemble des paramètres des bordures.
Définit le rayon de l'angle arrondi en bas à gauche.
Définit le rayon de l'angle arrondi en bas à droite.
Définit la couleur des bordures.
Résumé des propriétés des bordures réalisées avec des images.
Définit le débordement de l'image de bordure.
Définit comment l'image de bordure est répétée ou dilatée pour couvrir la zone voulue..
Définit comment l'image de bordure est découpée.
Définit l'image utilisée pour construire la bordure.
Définit l'épaisseur de la bordure lorsque cette dernière est réalisée avec une image.
Rayon des angles arrondis.
Type de bordure (simple, double, pointillé...).
Définit le rayon de l'angle arrondi en haut à gauche.
Définit le rayon de l'angle arrondi en haut à droite.
Définit l'épaisseur de la bordure de l'élément.
Applique un effet d'ombrage sur les blocs.