Grayscale() - Fonction CSS

grayscale()

Résumé des caractéristiques de la fonction grayscale()

Description rapide
Convertit un élément en nuances de gris (filtre graphique) de façon plus moins complète. A l'extrême les couleurs peuvent être complètement supprimées.
Statut
Standard
Pourcentages
100% correspond à une disparition complète des couleurs (image en noir et blanc).
Module W3C
Module filtres et effets
Références (W3C)
Statut du document: WD (document de travail)

Description de la fonction grayscale().

La fonction grayscale() atténue les couleurs d'un élément, en totalité ou partiellement. On obtient donc un élément restitué en nuances de gris, communément appelée "image en noir et blanc".

La fonction saturate() permet d'obtenir un effet comparable, mais avec quelques différences:

  • Les valeurs sont inversées : saturate(0) est équivalent à grayscale(100%)
  • saturate() peut agir dans les deux sens : atténuation ou renforcement des couleurs. Ce qui n'est pas le cas de grayscale() qui ne peut que atténuer les couleurs.
  • Les formules de calcul utilisées par ces deux fonctions sont différentes.

La valeur grayscale() peut être utilisée avec les propriétés suivantes :

  • backdrop-filter : Applique un filtre graphique sur l'élément situé derrière l'élément ciblé.
  • filter : Applique un filtre graphique (flou, contraste, luminosité...) à un élément.

Syntaxes de la fonction grayscale().

  • filter: grayscale(50%); n

    n est un nombre sans unité compris entre 0 et 1, ou un pourcentage compris entre 0% et 100%. Cette valeur indique le taux de conversion en nuances de gris.
    0% ne change rien au visuel de l'élément, tandis que 1 ou 100% provoque une dé-saturation totale de son image (remplacement de toutes les couleurs par des nuances de gris).
    Si aucune valeur n'est indiquée dans les parenthèses, grayscale() provoque une désaturation totale.

    Les valeurs négatives ne sont pas autorisées.

Exemples d'utilisation de la fonction grayscale().

Réagir au survol de la souris.

Au survol de la souris, les images retrouvent leurs couleurs. En fait dans notre exemple, il ne s'agit pas d'images mais de caractères de la plage 1F300 à 1F5FF mais le résultat serait identique avec des images.

🐭🐵🐱🐷🐶

Simulateur avec la fonction grayscale()

filter :
Effet sur du texte
Démo pour la fonction grayscale()

Prise en charge par les navigateurs (compatibilité).

Tous les filtres graphiques sont bien reconnus par les navigateurs actuels. Il en est de même de la fonction grayscale().

Colonne 1
Capacité à appliquer un filtre sur un élément, avec la propriété filter.
Colonne 2
Support de la fonction grayscale() pour afficher un élément en nuances de gris.
1
Filtres
graphiques
2
Fonction
grayscale()
Estimation de la prise en charge globale.
96%
95%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

QQ Browser

Safari sur IOS

Firefox pour Androïd

Opéra Mobile

Baidu Browser

KaiOS Browser

UC Browser pour Androïd

Samsung Internet

Opéra

Safari

Firefox

Chrome pour Androïd

Chrome

Edge

Androïd Brower

Opéra mini

Historique de la fonction grayscale().

Voir aussi : autres effets et filtres graphiques.

Les effets graphiques disponibles en CSS sont nombreux. Ils sont décrits dans la spécification du W3C Filter Effects Module. Voici la liste des filtres graphiques et des propriétés qui permettent de les mettre en œuvre.

Propriétés :

backdrop-filter
Applique un filtre graphique sur l'élément situé derrière l'élément ciblé.
color-interpolation
Définit l'espace de couleurs à utiliser pour calculer les dégradés, les animations et les combinaisons avec la couche alpha.
color-interpolation-filters
Définit dans quel espace de couleurs sont calculés les effets de filtrage. Par défaut cet espace est le linearRGB
filter
Applique un filtre graphique (flou, contraste, luminosité...) à un élément.
flood-color
Définit la couleur des remplissages et des ombrages dans le contexte de filtres SVG.
flood-opacity
Définit l'opacité des remplissages et des ombrages dans le contexte de filtres SVG.
lighting-color
Définit la couleur de l'éclairage dans le contexte d'un filtre SVG.

Fonctions :

blur()
blur() est un filtre graphique utilisable avec la propriété filter. La fonction applique un effet de flou sur l'élément.
brightness()
Ajuste la luminosité d'un élément (filtre graphique).
contrast()
Ajuste le contraste d'un élément (filtre graphique).
drop-shadow()
Définit l'ombre d'un élément : dimensions, flou, couleur (filtre graphique).
hue-rotate()
Change les couleurs d'une image en effectuant une rotation des teintes (filtre graphique).
invert()
Inverse les couleurs d'un élément (filtre graphique).
opacity()
Détermine le degré de transparence d'un élément (filtre graphique).
saturate()
Définit la saturation des couleurs d'un élément (filtre graphique).
sepia()
Applique un effet sépia à un élément (filtre graphique).