Цветовые функции CSS предоставляют разработчикам надежный набор инструментов для определения цветов и управления ими в веб-дизайне. Эти функции обеспечивают гибкость и точность, позволяя создавать динамичные и визуально привлекательные проекты. В этой статье мы углубимся в историю цветовых функций CSS, проблемы, которые они призваны решить, и способы их эффективного использования.
Изначально CSS предоставлял ограниченный набор методов для определения цветов, таких как именованные цвета и шестнадцатеричная запись. Хотя эти методы были простыми и эффективными, им не хватало гибкости и точности, необходимых для более сложных задач проектирования. По мере развития веб-дизайна росла и потребность в более совершенных методах манипулирования цветом.
Появление функций rgb() и hsl() положило начало более универсальным определениям цветов в CSS. Эти функции позволили лучше контролировать свойства цвета, упрощая создание динамичных и адаптивных дизайнов. Однако растущая сложность веб-дизайна продолжала раздвигать границы, что привело к разработке еще более продвинутых функций цвета, таких как lab(), lch() и oklch().
1. Единообразие восприятия: Традиционные цветовые модели, такие как RGB и HSL, не учитывают человеческое восприятие цветовых различий. Современные функции, такие как lab(), lch() и oklch(), разработаны так, чтобы быть единообразными по восприятию, то есть изменения значений цвета более точно соответствуют тому, как мы воспринимаем эти изменения.
2. Динамическая настройка цвета: Такие функции, как color-mix() и color-contrast(), предоставляют инструменты для динамической настройки цветов в зависимости от их окружения, обеспечивая лучшую читаемость и визуальную гармонию.
3. Последовательность и предсказуемость. Современные функции обеспечивают более последовательные и предсказуемые результаты при смешивании и сопоставлении цветов, что имеет решающее значение для создания целостного дизайна.
4. Доступность: Улучшенные функции цвета помогают создавать доступные дизайны, упрощая обеспечение достаточного контраста и различимости цветов.
CSS поддерживает множество предопределенных именованных цветов, таких как «красный», «зеленый», «синий» и т. д.
.element { background-color: red; }
Шестнадцатеричное представление цветов RGB.
.element { background-color: #ff6347; /* Tomato */ }
Определяет цвета с использованием цветовой модели «красный-зеленый-синий».
.element { background-color: rgb(255, 99, 71); /* Tomato */ background-color: rgba(255, 99, 71, 0.5); /* 50% transparent Tomato */ }
Использует модель «Цвет-Насыщенность-Яркость».
.element { background-color: hsl(9, 100%, 64%); /* Tomato */ background-color: hsla(9, 100%, 64%, 0.5); /* 50% transparent Tomato */ }
Использует текущее значение свойства цвета.
.element { color: #ff6347; border: 2px solid currentColor; /* Border color matches text color */ }
Именованный цвет представлен в честь Ребекки Элисон Мейер.
.element { background-color: rebeccapurple; /* #663399 */ }
Определяет цвет с использованием цветовой модели Cyan-Magenta-Yellow-Black.
.element { background-color: cmyk(0, 1, 1, 0); /* Red */ }
Регулировка оттенка цвета в указанной степени.
.element { background-color: adjust-hue(hsl(120, 100%, 50%), 45deg); /* Adjusted hue */ }
Увеличивает насыщенность цвета.
.element { background-color: saturate(hsl(120, 50%, 50%), 20%); /* More saturated */ }
Уменьшает насыщенность цвета.
.element { background-color: desaturate(hsl(120, 50%, 50%), 20%); /* Less saturated */ }
Делает цвет светлее.
.element { background-color: lighten(hsl(120, 50%, 50%), 20%); /* Lighter */ }
Делает цвет темнее.
.element { background-color: darken(hsl(120, 50%, 50%), 20%); /* Darker */ }
Позволяет использовать цвета из разных цветовых пространств.
.element { background-color: color(display-p3 1 0.5 0); /* Display P3 color space */ }
Смешивает два цвета.
.element { background-color: color-mix(in srgb, blue 30%, yellow 70%); }
Использует цветовую модель CIE LAB для единообразия восприятия.
.element { background-color: lab(60% 40 30); /* Lightness, a*, b* */ }
Цилиндрическое представление цветовой модели CIE LAB.
.element { background-color: lch(70% 50 200); /* Lightness, Chroma, Hue */ }
Ориентируется на количество добавленного к цвету белого и черного.
.element { background-color: hwb(260 30% 40%); /* Hue, Whiteness, Blackness */ }
Создает оттенки серого в процентах.
.element { background-color: gray(50%); /* Medium gray */ }
Выбирает цвет, обеспечивающий достаточный контраст с фоном.
.element { background-color: color-contrast(white vs black, blue, red); }
Использует Oklab Luminance, Chroma и Hue для единообразия восприятия.
.element { background-color: oklch(80% 0.5 200); /* Luminance, Chroma, Hue */ }
1. Эффекты при наведении: Используйте rgba() или hsla() для создания тонких эффектов при наведении с прозрачностью.
.button { background-color: rgb(0, 123, 255); } .button:hover { background-color: rgba(0, 123, 255, 0.8); }
2. Темы: Используйте currentColor для создания компонентов с поддержкой тем.
.theme-dark { color: #ffffff; } .theme-light { color: #000000; } .themed-element { border: 1px solid currentColor; }
3. Динамические цвета: Используйте hsl() для динамической настройки цвета, например изменения яркости или насыщенности.
.lighten { background-color: hsl(220, 90%, 70%); } .darken { background-color: hsl(220, 90%, 30%); }
4. Последовательное смешивание цветов: Используйте oklch() для смешивания цветов таким образом, чтобы они выглядели более естественными и последовательными.
.box { background-color: oklch(75% 0.3 90); /* Soft, bright color */ } .highlight { background-color: oklch(75% 0.3 120); /* Slightly different hue */ }
5. Цветовая гармония: Создавайте гармоничные цветовые схемы, регулируя оттенок, сохраняя при этом яркость и цветность постоянными.
.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. Доступные цвета: Используйте oklch() для создания различимых цветов, что улучшает читаемость и доступность.
.text { color: oklch(20% 0.1 30); /* Dark color for text */ } .background { background-color: oklch(90% 0.1 30); /* Light background color */ }
Современные функции цвета CSS расширяют возможности веб-дизайна, предлагая более высокий уровень точности и гибкости. Включив такие функции, как lab(), lch(), hwb(), Gray(), color-contrast() и oklch(), вы можете добиться более сложных и доступных манипуляций с цветом. Будьте в курсе последних разработок в области CSS, чтобы и дальше использовать весь потенциал этих мощных инструментов в своих проектах веб-дизайна.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3