Колір у CSS — усі способи записати значення


Колір в стилях можна задавати різними способами: за шістнадцятиричним значенням, за назвою, в форматі RGB, RGBA, HSL, HSLA.

color

За шістнадцятиричним значенням

Для задання кольорів використовуються числа в шістнадцятковому коді. Шістнадцяткова система, на відміну від десяткової системи, базується на числі 16. Цифри будуть наступні: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C , D, E, F. Цифри від 10 до 15 замінені латинськими буквами. Числа більше 15 в шістнадцятковій системі утворюються об'єднанням двох чисел в одне. Наприклад, числу 255 в десятковій системі відповідає число FF в шістнадцятковій системі. Щоб не виникало плутанини у визначенні системи числення, перед шістнадцятковим числом ставлять символ #, наприклад #666999. Кожен з трьох кольорів - червоний, зелений і синій - може набувати значень від 00 до FF. Таким чином, позначення кольору розбивається на три складові #rrggbb, де перші два символи відзначають червону компоненту кольору, два середніх - зелену, а два останніх - синю. Допускається використовувати скорочену форму виду #rgb, де кожен символ слід подвоювати. Так, запис color: #FE0 слід розцінювати як color: #FFEE00.

За назвою

Браузери підтримують деякі кольори по їх назві.

Назви кольорів.

Ім'я Колір Код RGB HSL Опис
white #ffffff або #fff rgb(255,255,255) hsl(0,0%,100%) білий
silver #c0c0c0 rgb(192,192,192) hsl(0,0%,75%) сірий
gray #808080 rgb(128,128,128) hsl(0,0%,50%) темно-сірий
black #000000 або #000 hsl(0,0%,0%) hsl(0,0%,50%) чорний
maroon #800000 rgb(128,0,0) hsl(0,100%,25%) темно-червоний
red #ff0000 або #f00 rgb(255,0,0) hsl(0,100%,50%) червоний
orange #ffa500 rgb(255,165,0) hsl(38.8,100%,50%) помаранчевий
yellow #ffff00 або #ff0 rgb(255,255,0) hsl(60,100%,50%) жовтий
olive #808000 rgb(128,128,0) hsl(60,100%,25%) оливковий
lime #00ff00 або #0f0 rgb(0,255,0) hsl(120,100%,50%) світло-зелений
green #008000 rgb(0,128,0) hsl(120,100%,25%) зелений
aqua #00ffff або #0ff rgb(0,255,255) hsl(180,100%,50%) голубий
blue #0000ff або #00f rgb(0,0,255) hsl(240,100%,50%) синій
navy #000080 rgb(0,0,128) hsl(240,100%,25%) темно-синій
teal #008080 rgb(0,128,128) hsl(180,100%,25%) синьо-зелений
fuchsia #ff00ff або #f0f rgb(255,0,255) hsl(300,100%,50%) рожевий
purple #800080 rgb(128,0,128) hsl(300,100%,25%) фіолетовий

За допомогою RGB

Можна визначити колір, використовуючи значення червоної, зеленої та синьої компоненти в десятковому численні. Кожна з трьох компонент кольору приймає значення від 0 до 255. Також допустимо ставити колір в процентному відношенні, при цьому 100% буде відповідати числу 255. Спочатку вказується ключове слово rgb, а потім в дужках, через кому вказуються компоненти кольору, наприклад rgb(255 , 128, 128) або rgb(100%, 50%, 50%).

RGBA

Формат RGBA схожий по синтаксису на RGB, але включає в себе альфа-канал, що задає прозорість елемента. Значення 0 відповідає повній прозорості, 1 - непрозорості, а проміжне значення на зразок 0.5 - напівпрозорості.

RGBA доданий в CSS3, тому валідацію CSS-коду треба проводити саме за цією версією. Слід зазначити, що стандарт CSS3 ще знаходиться в розробці і деякі можливості в ньому можуть помінятися. Наприклад, колір в форматі RGB доданий до властивості background-color проходить валідацію, а доданий до властивості background вже немає. При цьому браузери цілком коректно розуміють колір для тої чи іншої властивості.

HSL

Назва формату HSL утворено від сполучення перших букв Hue (відтінок), Saturate (насиченість) і Lightness (світлість). Відтінок це значення кольору на колірному колі і задається в градусах. 0° відповідає червоному кольору, 120 ° - зеленому, а 240 ° - синьому. Значення відтінку може змінюватися від 0 до 359.

Насиченістю називається інтенсивність кольору, вимірюється у відсотках від 0% до 100%. Значення 0% означає відсутність кольору і відтінок сірого, 100% максимальне значення насиченості.

Світлість задає, наскільки колір яскравий і вказується у відсотках від 0% до 100%. Малі значення роблять колір темніше, а високі світліше, крайні значення 0% і 100% відповідають чорному і білому кольору.

HSLA

Формат HSLA схожий по синтаксису на HSL, але включає в себе альфа-канал, що задає прозорість елемента. Значення 0 відповідає повній прозорості, 1 - непрозорості, а проміжне значення на зразок 0.5 - напівпрозорості.

автор: Svitlana

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

автор: NagarD

Порада

Значення кольору в форматах RGBA, HSL і HSLA додані в CSS3, тому при використанні цих форматів перевіряйте код на валідність з урахуванням версії.

автор: Svitlana

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
#RRGGBB | #RGB 1.0 1.0 1.0 3.5 12.0 3.0
За назвою 1.0 1.0 1.0 3.5 12.0 4.0
rgb() 1.0 1.0 1.0 3.5 12.0 4.0
hsl() 1.0 1.0 3.1 9.5 12.0 9.0
rgba() 1.0 3.0 3.1 10.0 12.0 9.0
hsla() 1.0 3.0 3.1 10.0 12.0 9.0
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Mozilla Firefox Mobile Apple Safari
#RRGGBB | #RGB 1.0 1.0 1.0
За назвою 1.0 1.0 1.0
rgb() 1.0 1.0 1.0
hsl() 1.0 1.0 4.0
rgba() 4.0 4.0 4.0
hsla() 4.0 4.0 4.0

Приклади

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

Інструмент

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

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

Шість способів записати один тип значення — колір: ключовим словом, hex-кодом, через rgb/rgba та hsl/hsla (версії з «a» мають канал прозорості).

HTML

<p class="name">gold — ключове слово</p>
<p class="hex">#F12668 — шістнадцятковий код</p>
<p class="rgb">rgb(72, 102, 157) — червоний, зелений, синій</p>
<p class="rgba">rgba(72, 102, 157, 0.45) — те саме, напівпрозоре</p>
<p class="hsl">hsl(0, 100%, 30%) — тон, насиченість, світлість</p>
<p class="hsla">hsla(0, 60%, 77%, 0.7) — і з прозорістю</p>

CSS

.name { color: gold; }
.hex  { color: #F12668; }
.rgb  { color: rgb(72, 102, 157); }
.rgba { color: rgba(72, 102, 157, 0.45); }
.hsl  { color: hsl(0, 100%, 30%); }
.hsla { color: hsla(0, 60%, 77%, 0.7); }
автор: Svitlana

Той самий тип значення в різних записах, на смугастому тлі — щоб прозорість було видно. Порівняйте два рядки hsl: вони відрізняються ОДНИМ числом світлості, і саме тому цей запис зручно правити руками.

HTML

<p class="kw">tomato — ключове слово</p>
<p class="hex">#0172ad — шістнадцятковий запис</p>
<p class="hex8">#0172adcc — той самий колір із восьмою парою: прозорість</p>
<p class="rgb">rgb(72 102 157 / 45%) — без ком, альфа через скісну риску</p>
<p class="hsl">hsl(210 60% 40%) — тон, насиченість, світлість</p>
<p class="hsl2">hsl(210 60% 78%) — змінили ОДНЕ число: світлість</p>
<p class="oklch">oklch(60% 0.15 250) — однакова світлість = однакова сприйнята яскравість</p>
<p class="mix">color-mix(in oklab, #0172ad 60%, white) — мішанка двох кольорів</p>
<p class="transp">transparent — прозорий ЧОРНИЙ, а не «без кольору»</p>

CSS

body {
    font-family: system-ui, sans-serif;
    font-size: 15px;
    /* смужки під сподом — на них видно прозорість */
    background: repeating-linear-gradient(45deg,
        #ffffff 0 12px, #e6e6ee 12px 24px);
    padding: 12px;
}

p {
    margin: 0 0 8px;
    padding: 10px 14px;
    border-radius: 6px;
    color: #111;
}

.kw    { background: tomato; }
.hex   { background: #0172ad; color: #fff; }
.hex8  { background: #0172adcc; }
.rgb   { background: rgb(72 102 157 / 45%); }
.hsl   { background: hsl(210 60% 40%); color: #fff; }
.hsl2  { background: hsl(210 60% 78%); }
.oklch { background: oklch(60% 0.15 250); color: #fff; }
.mix   { background: color-mix(in oklab, #0172ad 60%, white); }
.transp { background: transparent; }
автор: NagarD

Встановлюємо колір для різних елементів.

HTML

<p>Ми можемо встановлювати колір для фону, використовуючи різні значення:</p>

<div class="demo">
   <div class="name"><p>gold</p></div> 
    <div class="hex"><p>#F12668</p></div> 
    <div class="rgb"><p>rgb(72, 102, 157)</p></div> 
    <div class="rgba"><p>rgba(72, 102, 157, 0.45)</p></div> 
    <div class="hsl"><p>hsl(0, 100%, 30%)</p></div> 
    <div class="hsla"><p>hsla(0, 60%, 77%, 0.7)</p></div> 
</div>

CSS

body {
    font-family: sans-serif;
    text-align: center;
    line-height: 1.45; 
    font-size: 18px;
    padding: 16px 16px 0 16px; 
}

.demo {
    font-family: monospace;
    font-weight: 700;
    text-align: center;
    font-size: 18px;
}

.name { background: gold; }
.hex { background: #F12668; }
.rgb { background: rgb(72, 102, 157); }
.rgba { background: rgba(72, 102, 157, 0.45); }
.hsl { background: hsl(0, 100%, 30%); }
.hsla { background: hsla(0, 60%, 77%, 0.7); }
автор: Svitlana

Коментарі

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[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`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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