CSS hsl() — колір через тон, насиченість і світлість


Опис

Функція hsl() в CSS використовується для встановлення кольору шляхом комбінування значень тону, насиченості та світлоти. Акронім HSL походить від Hue (тон), Saturation (насиченість) і Lightness (світлота), що відображають основні компоненти цієї функції. Використання hsl() дозволяє вам створювати широкий спектр кольорових варіацій та налаштовувати вигляд ваших елементів на веб-сайті.

Функція hsl() приймає три аргументи: значення тону (в градусах), насиченості (відсотки) та світлоти (відсотки). Значення тону вказує кольоровий відтінок, значення насиченості контролює насиченість кольору, а значення світлоти впливає на його яскравість.

Приклад використання:

Припустимо, вам потрібно встановити фоновий колір для елемента, використовуючи hsl(). Ви можете зробити це наступним чином:

.background {
  background-color: hsl(120, 50%, 50%);
}

Цей код встановлює фоновий колір з тоном 120 градусів (зелений відтінок), насиченістю 50% та світлотою 50%. Використання функції hsl() тут дає вам гнучкість і легкість управління кольором, дозволяючи швидко змінити його відтінок, насиченість або світлоту за потребою.

автор: Bond

Загальний опис

автор: NagarD

Порада

Використовуйте hsl() для визначення кольорів у просторі HSL, що дозволяє вам контролювати відтінок, насиченість та світлість окремо.

автор: Bond
Нотатка

Використання функції hsl() дає можливість контролювати кольорову палітру і створювати власні кольорові схеми. Ви можете використовувати цю функцію, щоб підлаштувати кольори під вимоги вашого дизайну, створювати контрастні комбінації або забезпечити відповідність кольорів бренду. hsl() також дозволяє зручно контролювати яскравість та насиченість кольорів без необхідності працювати зі складними кодами кольорів.

автор: Bond
Нотатка

Важливо пам'ятати, що значення в hsl() можуть варіюватись від 0 до 100% для насиченості та світлоти, а тон виражається в градусах від 0 до 360.

автор: Bond

Синтаксис

hsl(<hue>, <saturation>, <lightness>);

Функція hsl може отримувати 3 значень:

<hue>

Числове значення від 0 до 360, що визначає відтінок кольору.

автор: Bond

<saturation>

Числове значення від 0% до 100%, що визначає насиченість кольору.

автор: Bond

<lightness>

Числове значення від 0% до 100%, що визначає світлість кольору.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 3.1 9.5 12 9
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 2

Приклади

+ запропонувати свій приклад у пісочниці

Інструмент

Перекладає колір між HEX, RGB і HSL — кожне поле і вхід, і вихід.

Конвертер кольорів — окремою сторінкою, з поясненням пасток.

Наведіть курсор на квадрат, щоб змінити його кольору.

HTML

<div id="description">
  <h2>Приклад 1: зміна кольору при наведенні</h2>
  <p>Наведіть курсор на квадрат, щоб змінити його кольору.</p>
</div>

<div id="result">
  <div class="square"></div>
</div>

CSS

#description {
  font-style: italic;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 50px;
  padding: 12px 16px;
  background-color: #f7f7f7;
  border: 1px solid #ccc;
}

#result {
  display: flex;
  justify-content: center;
}

.square {
  width: 200px;
  height: 200px;
  background-color: hsl(360 100% 50%);
  transition: background-color 0.5s;
}

.square:hover {
  background-color: hsl(315 100% 50%);
}
автор: Bond

Кожен квадрат має заданий фоновий колір за допомогою hsl().

HTML

<div id="description">
  <h2>Приклад 1</h2>
  <p>Кожен квадрат має заданий фоновий колір за допомогою hsl().</p>
</div>

<div id="result">
  <div class="square"></div>
  <div class="square custom-color"></div>
</div>

CSS

#description {
  font-style: italic;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 50px;
  padding: 12px 16px;
  background-color: #f7f7f7;
  border: 1px solid #ccc;
}

#result {
  display: flex;
  justify-content: center;
}

.square {
  width: 200px;
  height: 200px;
  display: inline-block;
}

.square:not(.custom-color) {
  background-color: hsl(45 100% 50%);
}

.square.custom-color {
  background-color: hsl(0 100% 50%);
}
автор: Bond

Верхній ряд: тон і насиченість незмінні, змінюється лише світлота — від 15% до 95%. Нижній ряд: світлота однакова (50%), змінюється тон — видно, що жовтий сприймається набагато яскравішим за синій.

HTML

<p>Один тон, різна світлота: hsl(210 70% L)</p>
<div class="row">
    <div class="sw l1">15%</div>
    <div class="sw l2">35%</div>
    <div class="sw l3">50%</div>
    <div class="sw l4">75%</div>
    <div class="sw l5">95%</div>
</div>

<p>Однакова світлота 50%, різний тон:</p>
<div class="row hues">
    <div class="sw h1">0</div>
    <div class="sw h2">60</div>
    <div class="sw h3">120</div>
    <div class="sw h4">240</div>
    <div class="sw h5">300</div>
</div>

CSS

body {
    font-family: sans-serif;
    font-size: 15px;
    padding: 24px;
}

.row {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.sw {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 90px;
    height: 70px;
    padding-bottom: 6px;
    border: 1px solid #cfd4d9;
    color: #17202a;
    font-size: 13px;
}

.hues .sw {
    color: #fff;
    text-shadow: 0 1px 2px rgb(0 0 0 / 0.7);
}

.l1 { background: hsl(210 70% 15%); color: #fff; }
.l2 { background: hsl(210 70% 35%); color: #fff; }
.l3 { background: hsl(210 70% 50%); }
.l4 { background: hsl(210 70% 75%); }
.l5 { background: hsl(210 70% 95%); }

.h1 { background: hsl(0 100% 50%); }
.h2 { background: hsl(60 100% 50%); }
.h3 { background: hsl(120 100% 50%); }
.h4 { background: hsl(240 100% 50%); color: #fff; }
.h5 { background: hsl(300 100% 50%); }
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід