Un tutoriel pour appliquer les effets tels que le floutage, le contraste, la saturation, le noir et blanc,... sur une image en CSS
Sommaire
Qu'on veuille le contraste, l'opacité, la saturation, la luminosité ou autre effet, CSS (Feuille de style en cascade) nous propose la propriété filter pour les appliquer sur une image.
La propriété filter est actuellement supportée par des nombreux navigateurs comme nous pouvons le voir sur caniuse.com
L'effet qu'on applique sur une image par filter est une fonction du même nom que l'effet voulu où on transmet la valeur qui détermine son intensité.
Nous avons les effets suivants :
On peut appliquer plusieurs effets sur une meme image.
Au code CSS ci-dessous, j'applique les effets "grascale (70%)", "luminosité (120%)", "contraste (70%)" puis je fais tourner la roue de couleurs à 320 deg sur une image de classe "transformed" :
img.transformed {
filter: grayscale(70%) brightness(120%) contrast(70%) hue-rotate(320deg);
}
La capture ci-dessous montre ce que j'obtiens pour mon image de lion (image originale à gauche) :
Bien que les navigateurs actuels supportent très bien les filtres, il n'en est pas le cas pour les vieux. D'où la nécessité d'indiquer les préfixes des navigateurs :
img.transformed {
-webkit-filter: grayscale(70%) brightness(120%) contrast(70%) hue-rotate(320deg); // Google Chrome
filter: grayscale(70%) brightness(120%) contrast(70%) hue-rotate(320deg);
}
Appliquer les filtres sur une image demande un peu plus de ressources que les traitements CSS courants. Utilisez-les donc à bon escient car ils peuvent un peu alourdir le chargement d'une page s'il y en a de trop.
Cette publication vous a plu ?
Partagez-la avec vos ami(e)s sur les réseaux sociaux.
Wilo Ahadi, l'auteur
Passionné de l'informatique, je suis spécialiste en techniques des systèmes et réseaux, développeur web et mobile, infographiste et designer, ... J'aime partager mon expérience en formant sur la plateforme Akili School
Voir profil
Commentaires