backdrop-filter
Baseline
2024
Newly available
Depuis September 2024, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
La propriété CSS backdrop-filter permet d'obtenir un effet de flou ou de diffusion de la couleur sur la zone derrière l'élément. L'effet étant situé derrière l'élément, il pourra être observé en ajustant la transparence de l'élément.
Exemple interactif
backdrop-filter: blur(10px);
backdrop-filter: invert(80%);
backdrop-filter: sepia(90%);
<section class="default-example" id="default-example">
<div class="example-container">
<div id="example-element">Exemple</div>
</div>
</section>
.example-container {
background-image: url("/shared-assets/images/examples/balloon.jpg");
background-size: cover;
width: 200px;
height: 200px;
display: flex;
align-items: center;
justify-content: center;
color: black;
}
#example-element {
font-weight: bold;
flex: 1;
text-align: center;
padding: 20px 10px;
background-color: rgb(255 255 255 / 0.2);
}
Syntaxe
/* Valeur avec un mot-clé */
backdrop-filter: none;
/* Une valeur d'URL vers un filtre SVG */
backdrop-filter: url("common-filters.svg#filter");
/* Valeur de type <filter-function> */
backdrop-filter: blur(2px);
backdrop-filter: brightness(60%);
backdrop-filter: contrast(40%);
backdrop-filter: drop-shadow(4px 4px 10px blue);
backdrop-filter: grayscale(30%);
backdrop-filter: hue-rotate(120deg);
backdrop-filter: invert(70%);
backdrop-filter: opacity(20%);
backdrop-filter: sepia(90%);
backdrop-filter: saturate(80%);
/* On enchaîne plusieurs filtres */
backdrop-filter: url("filters.svg#filter") blur(4px) saturate(150%);
/* Valeurs globales */
backdrop-filter: inherit;
backdrop-filter: initial;
backdrop-filter: revert;
backdrop-filter: revert-layer;
backdrop-filter: unset;
Valeurs
none-
Un mot-clé qui indique qu'aucun filtre n'est appliqué sur l'ombre portée.
<filter-function-list>-
Une liste d'éléments
<filter-function>séparés par des espaces ou un filtre SVG qui sera appliqué à l'arrière-plan. Les<filter-function>CSS incluentblur(),brightness(),contrast(),drop-shadow(),grayscale(),hue-rotate(),invert(),opacity(),saturate()etsepia().
Définition formelle
| Valeur initiale | none |
|---|---|
| Applicabilité | tous les éléments ; en SVG, cela s'applique aux éléments conteneurs à l'exception des éléments <defs> et des éléments graphiques |
| Héritée | non |
| Valeur calculée | comme spécifié |
| Type d'animation | une liste de fonctions de filtre |
Syntaxe formelle
backdrop-filter =
none |
<filter-value-list>
<filter-value-list> =
[ <filter-function> | <url> ]+
<filter-function> =
<blur()> |
<brightness()> |
<contrast()> |
<drop-shadow()> |
<grayscale()> |
<hue-rotate()> |
<invert()> |
<opacity()> |
<sepia()> |
<saturate()>
<blur()> =
blur( <length>? )
<brightness()> =
brightness( [ <number> | <percentage> ]? )
<contrast()> =
contrast( [ <number> | <percentage> ]? )
<drop-shadow()> =
drop-shadow( [ <color>? && <length>{2,3} ] )
<grayscale()> =
grayscale( [ <number> | <percentage> ]? )
<hue-rotate()> =
hue-rotate( [ <angle> | <zero> ]? )
<invert()> =
invert( [ <number> | <percentage> ]? )
<opacity()> =
opacity( [ <number> | <percentage> ]? )
<sepia()> =
sepia( [ <number> | <percentage> ]? )
<saturate()> =
saturate( [ <number> | <percentage> ]? )
Exemples
>CSS
.boite {
background-color: rgb(255 255 255 / 30%);
backdrop-filter: blur(10px);
}
body {
background-image: url("anemones.jpg");
}
HTML
<div class="conteneur">
<div class="boite">
<p>backdrop-filter: blur(10px)</p>
</div>
</div>
Résultat
Spécifications
| Specification |
|---|
| Filter Effects Module Level 2> # BackdropFilterProperty> |
Compatibilité des navigateurs
Voir aussi
- La propriété
filter - Le type de donnée
<filter-function> - Les propriétés
background-blend-mode,mix-blend-mode - Effets de filtre CSS
- Composition et fusion CSS