Comment travailler avec le CSSfilter
biens
Les filtres nous permettent d'effectuer des opérations sur des éléments.
Ce que vous faites normalement avec Photoshop ou un autre logiciel de retouche photo, comme changer l'opacité ou la luminosité, etc.
Vous utilisez lefilter
biens. Voici un exemple d'application sur une image, mais cette propriété peut être utilisée surtoutélément:
img {
filter: <something>;
}
Vous pouvez utiliser différentes valeurs ici:
blur()
brightness()
contrast()
drop-shadow()
grayscale()
hue-rotate()
invert()
opacity()
sepia()
saturate()
url()
Notez les parenthèses après chaque option, car elles nécessitent toutes un paramètre.
Par exemple:
img {
filter: opacity(0.5);
}
signifie que l'image sera transparente à 50%, caropacity()
prend une valeur de 0 à 1, ou un pourcentage.
Vous pouvez également appliquer plusieurs filtres à la fois:
img {
filter: opacity(0.5) blur(2px);
}
Parlons maintenant de chaque filtre en détail.
blur()
Brouille le contenu d'un élément. Vous lui passez une valeur, exprimée enpx
ouem
ourem
qui sera utilisé pour déterminer le rayon de flou.
Exemple:
img {
filter: blur(4px);
}
opacity()
opacity()
prend une valeur de 0 à 1, ou un pourcentage, et détermine la transparence de l'image en fonction de celle-ci.
0
, ou0%
, signifie totalement transparent.1
, ou100%
, ou plus, signifie totalement visible.
Exemple:
img {
filter: opacity(0.5);
}
CSS a également unopacity
biens.filter
cependant, il peut être accéléré par le matériel, en fonction de l'implémentation, ce devrait donc être la méthode préférée.
drop-shadow()
drop-shadow()
affiche une ombre derrière l'élément, qui suit le canal alpha. Cela signifie que si vous avez une image transparente, vous obtenez une ombre appliquée à la forme de l'image, pas à la zone d'image. Si l'image n'a pas de canal alpha, l'ombre sera appliquée à l'ensemble de la zone d'image.
Il accepte au minimum 2 paramètres, jusqu'à 5:
- offset-xdéfinit le décalage horizontal. Peut être négatif.
- offset-ydéfinit le décalage vertical. Peut être négatif.
- rayon de flou, facultatif, définit le rayon de flou de l'ombre. La valeur par défaut est 0, pas de flou.
- rayon de propagation, facultatif, définit le rayon d'épandage. Exprimée en
px
,rem
ouem
- Couleur, facultatif, définit la couleur de l'ombre.
Vous pouvez définir la couleur sans définir le rayon de diffusion ou le rayon de flou. CSS comprend que la valeur est une couleur et non une valeur de longueur.
Exemple:
img {
filter: drop-shadow(10px 10px 5px orange);
}
img {
filter: drop-shadow(10px 10px orange);
}
img {
filter: drop-shadow(10px 10px 5px 5px #333);
}
grayscale()
Donnez à l'élément une couleur grise.
Vous passez une valeur de 0 à 1, ou de 0% à 100%, où 1 et 100% signifient complètement gris, et 0 ou 0% signifient que l'image n'est pas touchée et que les couleurs d'origine restent.
Exemple:
img {
filter: grayscale(50%);
}
sepia()
Donnez à l'élément une couleur sépia.
Vous passez une valeur de 0 à 1, ou de 0% à 100%, où 1 et 100% signifient complètement sépia, et 0 ou 0% signifient que l'image n'est pas touchée et que les couleurs d'origine restent.
Exemple:
img {
filter: sepia(50%);
}
invert()
Inversez les couleurs d'un élément. Inverser une couleur signifie rechercher l'opposé d'une couleur dans la roue chromatique TSL. Recherchez simplement «roue chromatique» dans Google si vous n'avez aucune idée de ce que cela signifie. Par exemple, l'opposé du jaune est le bleu, l'opposé du rouge est le cyan. Chaque couleur a un contraire.
Vous passez un nombre, de 0 à 1 ou de 0% à 100%, qui détermine la quantité d'inversion. 1 ou 100% signifie une inversion complète, 0 ou 0% signifie aucune inversion.
0,5 ou 50% rendra toujours une couleur grise à 50%, car vous vous retrouvez toujours au milieu de la roue.
Exemple:
img {
filter: invert(50%);
}
hue-rotate()
La roue chromatique TSL est représentée en degrés. Utilisanthue-rotate()
vous pouvez faire pivoter la couleur en utilisant une rotation positive ou négative.
La fonction accepte undeg
évaluer.
Exemple:
img {
filter: hue-rotate(90deg);
}
brightness()
Modifie la luminosité d'un élément.
0 ou 0% donne un élément noir total. 1 ou 100% donne une image inchangée
Les valeurs supérieures à 1 ou 100% rendent l'image plus lumineuse jusqu'à atteindre un élément blanc total.
Exemple:
img {
filter: brightness(50%);
}
contrast()
Modifie le contraste d'un élément.
0 ou 0% donne un élément gris total. 1 ou 100% donne une image inchangée
Les valeurs supérieures à 1 ou 100% donnent plus de contraste.
Exemple:
img {
filter: contrast(150%);
}
saturate()
Modifie la saturation d'un élément.
0 ou 0% donne un élément total en niveaux de gris (avec moins de saturation). 1 ou 100% donne une image inchangée
Les valeurs supérieures à 1 ou 100% donnent plus de saturation.
Exemple:
img {
filter: saturate();
}
url()
Ce filtre permet d'appliquer un filtre défini dans un fichier SVG. Vous pointez vers l'emplacement du fichier SVG.
Exemple:
img {
filter: url(filter.svg);
}
Les filtres SVG sortent du cadre de ce livre, mais vous pouvez en savoir plus sur cet article de Smashing Magazine:https://www.smashingmagazine.com/2015/05/why-the-svg-filter-is-awesome/
Téléchargez mon gratuitManuel CSS
Plus de didacticiels CSS:
- Le guide Flexbox
- Tutoriel CSS Grid
- Variables CSS (propriétés personnalisées)
- Introduction à PostCSS
- La propriété CSS margin
- Comment centrer un élément avec CSS
- Polices système CSS
- Comment imprimer votre HTML avec style
- Un guide d'introduction aux transitions CSS
- Un didacticiel sur les animations CSS
- Introduction au CSS
- Le guide CSS
- Comment configurer Tailwind avec PurgeCSS et PostCSS
- La feuille de triche de Tailwind
- Comment faire pivoter en continu une image en utilisant CSS
- Rendre un tableau réactif en utilisant CSS
- Comment déboguer CSS en divisant en deux
- Sélecteurs CSS
- Cascade CSS
- Spécificité CSS
- Sélecteurs d'attributs CSS
- Couleurs CSS
- Unités CSS
- URL CSS ()
- Typographie CSS
- Le modèle CSS Box
- La propriété de position CSS
- Requêtes multimédias CSS et conception réactive
- Requêtes de fonctionnalités CSS
- Transformations CSS
- Comment styliser des listes en utilisant CSS
- Préfixes de fournisseur CSS
- Héritage CSS
- Pseudo-classes CSS
- Pseudo éléments CSS
- Styliser les tableaux HTML avec CSS
- La propriété d'affichage CSS
- La fonction CSS calc ()
- Bordures CSS
- Importer un fichier CSS avec @import
- Gestion des erreurs CSS
- Filtres CSS
- Dimensionnement de la boîte CSS
- Arrière-plans CSS
- Commentaires CSS
- Polices CSS
- Remplissage CSS
- La propriété CSS float et la compensation
- Normalisation CSS
- La propriété CSS z-index
- Comment désactiver la sélection de texte à l'aide de CSS
- Comment mettre un élément au bas de son conteneur en utilisant CSS
- Comment inverser les couleurs en utilisant CSS
- Balises pré réactives en CSS
- Intégrations de vidéos YouTube réactives
- Quelles sont les bonnes valeurs CSS Breakpoint pour le Responsive Design?
- Comment aligner le centre dans Flexbox