Background-blend-mode - Propriété CSS

background-blend-mode

Résumé des caractéristiques de la propriété background-blend-mode

Description rapide
Définit le mélange des couleurs entre image(s) d'arrière-plan et couleur d'arrière-plan.
Statut
Standard
Utilisable sur
HTML
Valeurs prédéfinies
normal | multiply | screen | overlay | darken | lighten | color-burn | color-dodge | hard-light | soft-light | difference | exclusion | hue | color | luminosity | saturation
Pourcentages
Ne s'appliquent pas.
Valeur initiale
normal
Héritée par défaut
Non.
Type d'animation
Not animable : la propriété background-blend-mode ne peut pas être animée.
Module W3C
Compositions et mélanges
Références (W3C)
Statut du document: CR (document candidat à la recommandation)

Schéma syntaxique de background-blend-mode.

background-blend-mode - Syntax DiagramSyntax diagram of the background-blend-mode CSS property. normal normal multiply multiply screen screen etc... etc... , ,background-blend-mode:;background-blend-mode:;
Schéma syntaxique de background-blend-mode
Cliquez sur le schéma pour une description plus complète des valeurs

Précisions sur le schéma :

  • On énumère autant de modes de mélange qu'il y a d'arrière-plans, séparés par des virgules.

A quoi sert la propriété CSS background-blend-mode ?

La propriété background-blend-mode définit comment sont mélangées les images d'arrière-plan et la couleur d'arrière-plan. Par défaut les images du dessous, ainsi que la couleur ne sont visibles que à travers les parties transparentes des images supérieures. Mais background-blend-mode change ce mode de fonctionnement. On retrouve un principe identique au mélange de calques dans Photoshop.

Rappel de la syntaxe pour définir un arrière-plan composé de plusieurs images (ici deux) et d'une couleur :

background-image: url('image1'), url('image2'), silver; └───────────┘ └───────────┘ └─────┘ image dessus image dessous couleur

La propriété background-blend-mode est sans effet si l'arrière-plan est composé d'une seule image ou seulement d'une couleur.

Des informations complémentaires peuvent être trouvées en suivant les liens ci-dessous :

Valeurs pour background-blend-mode.

  • background-blend-mode: normal;

    Valeur par défaut. L'image du dessus masque les autres images et la couleur d'arrière-plan, sauf dans ses parties transparentes.

  • background-blend-mode: lighten; background-blend-mode: darken; background-blend-mode: multiply; background-blend-mode: screen; background-blend-mode: overlay; background-blend-mode: color-burn; background-blend-mode: color-dodge; background-blend-mode: hard-light; background-blend-mode: soft-light; background-blend-mode: difference; background-blend-mode: exclusion; background-blend-mode: hue; background-blend-mode: color; background-blend-mode: luminosity; background-blend-mode: saturation;

    Les différents arrière-plans sont mélangés, et la couleur d'arrière-plan également. C'est à dire qu'il sont combinés en fonction du mode de fusion choisi.

    Reportez-vous à la page sur Les modes de fusion pour des explications détaillées sur les différents modes de fusion.

  • background-blend-mode: multiply, screen, luminosity, ...;

    Cette syntaxe, comportant plusieurs valeurs séparées par des virgules, est utilisable lorsque plusieurs arrière-plan ont été définis. Voir Les arrière-plans multiples.

Valeurs standards acceptées par toutes les propriétés:

background-blend-mode: initial (normal) background-blend-mode: inherit background-blend-mode: revert background-blend-mode: revertLayer background-blend-mode: unset

Liens vers la présentation de ces différentes valeurs : initial, inherit, revert, revert-layer, unset.

Manipulation de la propriété background-blend-mode par programme.

Modifier la valeur de background-blend-mode en Javascript.

Deux exemples de code sont donnés pour modifier la valeur de background-blend-mode de l'élément el. Javascript accepte en effet une syntaxe avec la notation typique de CSS, en kebab-case (un tiret pour séparer les mots), et une autre syntaxe avec la notation en camel-case (une majuscule pour séparer les mots).

Javascript
let el = document.getElementById('id'); el.style['background-blend-mode'] = 'darken'; // ou let el = document.getElementById('id'); el.style.backgroundBlendMode = 'darken';

Lire en Javascript la valeur de background-blend-mode.

La propriété doit avoir été affectée directement dans le code HTML, par l'attribut style de l'élément, et non pas en passant par un sélecteur CSS.

Javascript
let el = document.getElementById('id'); el.style['background-blend-mode'] = 'darken'; // ou let el = document.getElementById('id'); el.style.backgroundBlendMode = 'darken';

Lire la valeur calculée de background-blend-mode en Javascript.

La valeur calculée est toujours définie : elle résulte soit d'une affectation de valeur directement à l'élément, via un sélecteur CSS ou l'attribut style, soit d'une valeur héritée suivant le mécanisme habituel, soit encore ce sera la valeur initiale de la propriété.

Javascript
let el = document.getElementById('id'); let value = window.getComputedStyle(el).getPropertyValue('background-blend-mode');

Modifier la valeur de la propriété background-blend-mode avec JQuery.

Comme en Javascript, deux variantes de syntaxe sont acceptées.

JQuery

$('#id').css('background-blend-mode', 'darken');
// ou
$('#id').css('backgroundBlendMode', 'darken');

Lire la valeur calculée de la propriété background-blend-mode avec JQuery.

JQuery
let value = $('#id').css('background-blend-mode');

Faites votre test.

Les boutons ci-dessous appliquent la valeur saisie à la propriété background-blend-mode et affichent ensuite soit la valeur telle qu'elle a été appliquée, soit la valeur calculée. Cette deuxième option permet de voir comment est mémorisée (sérialisée) la valeur de background-blend-mode. Dans le cas de background-blend-mode cela ne fera pas de différences.

Exemple interactif.

L'exemple de gauche comporte un arrière-plan composé des deux images ci-dessous (la fleur et le damier), la fleur étant positionnée au dessus du damier. Observez comment background-blend-mode fait interagir ces deux arrière-plans.

L'arrière-plan de l'exemple de droite comporte un dégradé de couleur du blanc au noir, et une image (le damier). Le dégradé est positionné au dessus de l'image.

Première image d'exemple pour background-blend-mode
Fleur

Deuxième image d'exemple pour background-blend-mode

Damier
Dégradé
background-blend-mode :

 

Compatibilité et prise en charge de background-blend-mode.

Colonne 1
Supoprt du mélange entre les couches.
Colonne 2
Support de la propriété background-blend-mode qui définit comment mélanger les arrière-plans.
1
Mode de
fusion
2
Propriété
background-blend-mode
Estimation de la prise en charge globale.
96%
97%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Safari

Safari sur IOS

Opéra

Firefox pour Androïd

Chrome

Edge

Firefox

Androïd Brower

Chrome pour Androïd

Samsung Internet

KaiOS Browser

Opéra mini

Historique de background-blend-mode.

La propriété background-blend-mode n'est pas définie dans le même module que les autres propriétés relatives aux arrière-plans. Un module à part a été créé spécialement pour les mélanges d'images.

  • Compositions et mélanges - Niveau 1

    Première définition de la propriété background-blend-mode.
    WD
    16 Août 2012
    Document de travail.
    CR
    20 Février 2014
    Candidat à la recommandation.
    PR
    REC

Voir aussi, au sujet des mélanges de couches.

La spécification du W3C "Compositing and Blending" regroupe tout ce qui concerne les mélanges entre deux couches (deux images, le contenu et l'arrière-plan, etc.)

Propriétés :

isolation
Autorise ou non les interactions entre les couches.
mix-blend-mode
Définit le mode de mélange entre le contenu et ce qui est visible en arrière-plan de l'élément.