«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Раскрытие возможностей современных функций цвета CSS: история, использование и практическое применение

Раскрытие возможностей современных функций цвета CSS: история, использование и практическое применение

Опубликовано 6 августа 2024 г.
Просматривать:613

Unlocking the Power of Modern CSS Color Functions: History, Uses, and Practical Applications

Цветовые функции CSS предоставляют разработчикам надежный набор инструментов для определения цветов и управления ими в веб-дизайне. Эти функции обеспечивают гибкость и точность, позволяя создавать динамичные и визуально привлекательные проекты. В этой статье мы углубимся в историю цветовых функций CSS, проблемы, которые они призваны решить, и способы их эффективного использования.

Краткая история функций цвета CSS

Изначально CSS предоставлял ограниченный набор методов для определения цветов, таких как именованные цвета и шестнадцатеричная запись. Хотя эти методы были простыми и эффективными, им не хватало гибкости и точности, необходимых для более сложных задач проектирования. По мере развития веб-дизайна росла и потребность в более совершенных методах манипулирования цветом.

Появление функций rgb() и hsl() положило начало более универсальным определениям цветов в CSS. Эти функции позволили лучше контролировать свойства цвета, упрощая создание динамичных и адаптивных дизайнов. Однако растущая сложность веб-дизайна продолжала раздвигать границы, что привело к разработке еще более продвинутых функций цвета, таких как lab(), lch() и oklch().

Какие проблемы решают современные функции цвета CSS?

1. Единообразие восприятия: Традиционные цветовые модели, такие как RGB и HSL, не учитывают человеческое восприятие цветовых различий. Современные функции, такие как lab(), lch() и oklch(), разработаны так, чтобы быть единообразными по восприятию, то есть изменения значений цвета более точно соответствуют тому, как мы воспринимаем эти изменения.

2. Динамическая настройка цвета: Такие функции, как color-mix() и color-contrast(), предоставляют инструменты для динамической настройки цветов в зависимости от их окружения, обеспечивая лучшую читаемость и визуальную гармонию.

3. Последовательность и предсказуемость. Современные функции обеспечивают более последовательные и предсказуемые результаты при смешивании и сопоставлении цветов, что имеет решающее значение для создания целостного дизайна.

4. Доступность: Улучшенные функции цвета помогают создавать доступные дизайны, упрощая обеспечение достаточного контраста и различимости цветов.

Обзор функций цвета CSS

1. Именованные цвета

CSS поддерживает множество предопределенных именованных цветов, таких как «красный», «зеленый», «синий» и т. д.

.element {
  background-color: red;
}

2. Шестнадцатеричная система счисления

Шестнадцатеричное представление цветов RGB.

.element {
  background-color: #ff6347; /* Tomato */
}

3. rgb() и rgba()

Определяет цвета с использованием цветовой модели «красный-зеленый-синий».

.element {
  background-color: rgb(255, 99, 71); /* Tomato */
  background-color: rgba(255, 99, 71, 0.5); /* 50% transparent Tomato */
}

4. hsl() и hsla()

Использует модель «Цвет-Насыщенность-Яркость».

.element {
  background-color: hsl(9, 100%, 64%); /* Tomato */
  background-color: hsla(9, 100%, 64%, 0.5); /* 50% transparent Tomato */
}

5. текущий цвет

Использует текущее значение свойства цвета.

.element {
  color: #ff6347;
  border: 2px solid currentColor; /* Border color matches text color */
}

6. ребеккапурпл

Именованный цвет представлен в честь Ребекки Элисон Мейер.

.element {
  background-color: rebeccapurple; /* #663399 */
}

7. cmyk()

Определяет цвет с использованием цветовой модели Cyan-Magenta-Yellow-Black.

.element {
  background-color: cmyk(0, 1, 1, 0); /* Red */
}

8. настройка оттенка()

Регулировка оттенка цвета в указанной степени.

.element {
  background-color: adjust-hue(hsl(120, 100%, 50%), 45deg); /* Adjusted hue */
}

9. насыщение()

Увеличивает насыщенность цвета.

.element {
  background-color: saturate(hsl(120, 50%, 50%), 20%); /* More saturated */
}

10. обесцветить()

Уменьшает насыщенность цвета.

.element {
  background-color: desaturate(hsl(120, 50%, 50%), 20%); /* Less saturated */
}

11. осветить()

Делает цвет светлее.

.element {
  background-color: lighten(hsl(120, 50%, 50%), 20%); /* Lighter */
}

12. затемнить()

Делает цвет темнее.

.element {
  background-color: darken(hsl(120, 50%, 50%), 20%); /* Darker */
}

13. цвет()

Позволяет использовать цвета из разных цветовых пространств.

.element {
  background-color: color(display-p3 1 0.5 0); /* Display P3 color space */
}

14. сочетание цветов()

Смешивает два цвета.

.element {
  background-color: color-mix(in srgb, blue 30%, yellow 70%);
}

15. лаборатория()

Использует цветовую модель CIE LAB для единообразия восприятия.

.element {
  background-color: lab(60% 40 30); /* Lightness, a*, b* */
}

16. лч()

Цилиндрическое представление цветовой модели CIE LAB.

.element {
  background-color: lch(70% 50 200); /* Lightness, Chroma, Hue */
}

17. хвб()

Ориентируется на количество добавленного к цвету белого и черного.

.element {
  background-color: hwb(260 30% 40%); /* Hue, Whiteness, Blackness */
}

18. серый()

Создает оттенки серого в процентах.

.element {
  background-color: gray(50%); /* Medium gray */
}

19. цветовой контраст()

Выбирает цвет, обеспечивающий достаточный контраст с фоном.

.element {
  background-color: color-contrast(white vs black, blue, red);
}

20. оклч()

Использует 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, чтобы и дальше использовать весь потенциал этих мощных инструментов в своих проектах веб-дизайна.

Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/mdhassanpatwary/unlocking-the-power-of-modern-css-color-funts-usistory-uses-and-practical-pplications-3j2a?1, если есть какие-либо нарушения За преступлениями, пожалуйста, свяжитесь с учебой_golang @163.com Delete
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3