Les fonctions de couleur CSS fournissent aux développeurs une boîte à outils robuste pour définir et manipuler les couleurs dans la conception Web. Ces fonctions offrent flexibilité et précision, vous permettant de créer des designs dynamiques et visuellement attrayants. Cet article plongera dans l'histoire des fonctions de couleur CSS, les problèmes qu'elles visent à résoudre et comment les utiliser efficacement.
Au départ, CSS fournissait un ensemble limité de méthodes pour définir les couleurs, telles que les couleurs nommées et la notation hexadécimale. Même si ces méthodes étaient simples et efficaces, elles manquaient de la flexibilité et de la précision requises pour des besoins de conception plus sophistiqués. À mesure que la conception Web évoluait, le besoin de techniques de manipulation des couleurs plus avancées s'est également accru.
L'introduction des fonctions rgb() et hsl() a marqué le début de définitions de couleurs plus polyvalentes en CSS. Ces fonctions permettaient un meilleur contrôle sur les propriétés des couleurs, facilitant ainsi la création de conceptions dynamiques et réactives. Cependant, la complexité croissante de la conception Web a continué à repousser les limites, conduisant au développement de fonctions de couleur encore plus avancées comme lab(), lch() et oklch().
1. Uniformité perceptuelle : Les modèles de couleurs traditionnels comme RVB et HSL ne tiennent pas compte de la perception humaine des différences de couleur. Les fonctions modernes telles que lab(), lch() et oklch() sont conçues pour être perceptuellement uniformes, ce qui signifie que les changements dans les valeurs de couleur correspondent plus étroitement à la façon dont nous percevons ces changements.
2. Ajustements dynamiques des couleurs : Des fonctions telles que color-mix() et color-contrast() fournissent des outils permettant d'ajuster dynamiquement les couleurs en fonction de leur environnement, garantissant une meilleure lisibilité et une meilleure harmonie visuelle.
3. Cohérence et prévisibilité : Les fonctions modernes offrent des résultats plus cohérents et prévisibles lors du mélange et de la correspondance des couleurs, ce qui est crucial pour créer des designs cohérents.
4. Accessibilité : Les fonctions de couleur améliorées aident à créer des conceptions accessibles en facilitant la garantie d'un contraste et d'une distinction suffisants des couleurs.
CSS prend en charge une variété de couleurs nommées prédéfinies telles que "rouge", "vert", "bleu", etc.
.element { background-color: red; }
Notation hexadécimale pour les couleurs RVB.
.element { background-color: #ff6347; /* Tomato */ }
Définit les couleurs à l'aide du modèle de couleur Rouge-Vert-Bleu.
.element { background-color: rgb(255, 99, 71); /* Tomato */ background-color: rgba(255, 99, 71, 0.5); /* 50% transparent Tomato */ }
Utilise le modèle Teinte-Saturation-Luminosité.
.element { background-color: hsl(9, 100%, 64%); /* Tomato */ background-color: hsla(9, 100%, 64%, 0.5); /* 50% transparent Tomato */ }
Utilise la valeur actuelle de la propriété color.
.element { color: #ff6347; border: 2px solid currentColor; /* Border color matches text color */ }
Une couleur nommée introduite en l'honneur de Rebecca Alison Meyer.
.element { background-color: rebeccapurple; /* #663399 */ }
Définit une couleur à l'aide du modèle de couleur Cyan-Magenta-Jaune-Noir.
.element { background-color: cmyk(0, 1, 1, 0); /* Red */ }
Ajuste la teinte d'une couleur selon un degré spécifié.
.element { background-color: adjust-hue(hsl(120, 100%, 50%), 45deg); /* Adjusted hue */ }
Augmente la saturation d'une couleur.
.element { background-color: saturate(hsl(120, 50%, 50%), 20%); /* More saturated */ }
Réduit la saturation d'une couleur.
.element { background-color: desaturate(hsl(120, 50%, 50%), 20%); /* Less saturated */ }
Rend une couleur plus claire.
.element { background-color: lighten(hsl(120, 50%, 50%), 20%); /* Lighter */ }
Rend une couleur plus foncée.
.element { background-color: darken(hsl(120, 50%, 50%), 20%); /* Darker */ }
Permet d'utiliser des couleurs provenant de différents espaces colorimétriques.
.element { background-color: color(display-p3 1 0.5 0); /* Display P3 color space */ }
Mélange deux couleurs ensemble.
.element { background-color: color-mix(in srgb, blue 30%, yellow 70%); }
Utilise le modèle de couleur CIE LAB pour l'uniformité de la perception.
.element { background-color: lab(60% 40 30); /* Lightness, a*, b* */ }
Une représentation cylindrique du modèle de couleur CIE LAB.
.element { background-color: lch(70% 50 200); /* Lightness, Chroma, Hue */ }
Se concentre sur la quantité de blanc et de noir ajoutée à la couleur.
.element { background-color: hwb(260 30% 40%); /* Hue, Whiteness, Blackness */ }
Crée des nuances de gris à l'aide d'un pourcentage.
.element { background-color: gray(50%); /* Medium gray */ }
Sélectionne une couleur offrant un contraste suffisant par rapport à un arrière-plan.
.element { background-color: color-contrast(white vs black, blue, red); }
Utilise Oklab Luminance, Chroma et Hue pour l'uniformité de la perception.
.element { background-color: oklch(80% 0.5 200); /* Luminance, Chroma, Hue */ }
1. Effets de survol : Utilisez rgba() ou hsla() pour créer des effets de survol subtils avec transparence.
.button { background-color: rgb(0, 123, 255); } .button:hover { background-color: rgba(0, 123, 255, 0.8); }
2. Thématisation : Utilisez currentColor pour créer des composants sensibles au thème.
.theme-dark { color: #ffffff; } .theme-light { color: #000000; } .themed-element { border: 1px solid currentColor; }
3. Couleurs dynamiques : Tirez parti de hsl() pour des ajustements dynamiques des couleurs, tels que la modification de la luminosité ou de la saturation.
.lighten { background-color: hsl(220, 90%, 70%); } .darken { background-color: hsl(220, 90%, 30%); }
4. Mélange de couleurs cohérent : Utilisez oklch() pour mélanger les couleurs d'une manière qui semble plus naturelle et cohérente.
.box { background-color: oklch(75% 0.3 90); /* Soft, bright color */ } .highlight { background-color: oklch(75% 0.3 120); /* Slightly different hue */ }
5. Harmonies de couleurs : Créez des combinaisons de couleurs harmonieuses en ajustant la teinte tout en gardant la luminance et la saturation constantes.
.primary { background-color: oklch(70% 0.4 30); } .secondary { background-color: oklch(70% 0.4 60); } .accent { background-color: oklch(70% 0.4 90); }
6. Couleurs accessibles : Utilisez oklch() pour créer des couleurs perceptuellement distinctes, améliorant ainsi la lisibilité et l'accessibilité.
.text { color: oklch(20% 0.1 30); /* Dark color for text */ } .background { background-color: oklch(90% 0.1 30); /* Light background color */ }
Les fonctions de couleur CSS modernes étendent les capacités de conception Web, offrant un niveau plus élevé de précision et de flexibilité. En incorporant des fonctions telles que lab(), lch(), hwb(), gray(), color-contrast() et oklch(), vous pouvez réaliser des manipulations de couleurs plus sophistiquées et accessibles. Restez à jour avec les derniers développements CSS pour continuer à exploiter tout le potentiel de ces outils puissants dans vos projets de conception Web.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3