2.13. CSS-кольори
Модуль CSS color докладно описує значення, які дозволяють авторам визначати кольори та непрозорість html-елементів, а також значення якості color.
Властивість color
- Зміст:
- 1. Пріоритетні кольори: якість color
- 2. Значення кольору
- 2.1. Основні ключові слова
- 2.2. Числові значення кольору
- 2.2.1. Кольори моделі RGB
- 2.2.2. Кольори моделі RGBA
- 2.2.3. Ключове слово transparent
- 2.2.4. HSL кольори
- 2.2.5. HSLA-значення кольору
- 2.3. Розширені ключові слова кольору
- 2.4. Ключове слово currentColor
1. Пріоритетні кольори: якість color
Властивість задає колір шрифту за допомогою різних систем передачі кольорів. Властивість описує колір текстового вмісту. Крім того, воно використовується для надання потенційного непрямого значення (currentColor) для будь-яких інших властивостей, які набувають значення кольору.
| color | |
|---|---|
| Значення: | |
| колір | Встановлюється за допомогою значень кольору. |
| inherit | Наслідує значення властивості від батьківського елемента. |
2. Значення кольору
2.1. Основні ключові слова
Список основних ключових слів включає наступні значення:
| Назва | HEX | RGB | Колір |
|---|---|---|---|
| black | #000000 | 0,0,0 | |
| silver | #C0C0C0 | 192,192,192 | |
| gray | #808080 | 128,128,128 | |
| white | #FFFFFF | 255,255,255 | |
| maroon | #800000 | 128,0,0 | |
| red | #FF0000 | 255,0,0 | |
| purple | #800080 | 128,0,128 | |
| fuchsia | #FF00FF | 255,0,255 | |
| green | #008000 | 0,128,0 | |
| lime | #00FF00 | 0,255,0 | |
| olive | #808000 | 128,128,0 | |
| yellow | #FFFF00 | 255,255,0 | |
| navy | #000080 | 0,0,128 | |
| blue | #0000FF | 0,0,255 | |
| teal | #008080 | 0,128,128 | |
| aqua | #00FFFF | 0,255,255 |
Назви кольорів не чутливі до регістру.
2.2. Числові значення кольору
2.2.1. Кольори моделі RGB
Формат значення RGB у шістнадцятковому форматі — це знак # , за яким відразу йдуть три або шість шістнадцяткових символів. Тризначний запис RGB #rgb перетворюється на шестизначну форму #rrggbb шляхом копіювання цифр, а не шляхом додавання нулів.Наприклад, #fb0 розширюється до #ffbb00. Це гарантує, що білий #ffffff може бути вказаний у короткому записі #fff і видаляє будь-які залежності від глибини кольору дисплея.
Формат значення RGB у функціональній нотації — rgb( , за яким слідує розділений комами список із трьох числових значень (або трьох цілочисельних значень, або трьох відсоткових значень), за якими слідує символ ) . Цілочисленне значення 255 відповідає 100% і F або FF у шістнадцятковому записі:
rgb (255,255,255) = rgb (100%, 100%, 100%) = #FFF
Символи пропуску допускаються навколо числових значень.
Усі кольори RGB вказуються в колірному просторі sRGB. Агенти користувача можуть відрізнятися в точності, з якою вони представляють ці кольори, але використання sRGB дає однозначне і об'єктивно вимірне визначення того, яким повинен бути колір.
Значення за межами діапазону пристрою повинні бути обрізані або відображені у відомому діапазоні: значення червоного, зеленого та синього необхідно змінити, щоб вони потрапляли в діапазон, який підтримує пристрій. Деякі пристрої, наприклад принтери, мають діапазони, відмінні від sRGB, тому деякі кольори за межами діапазону 0..255 sRGB будуть представлені (всередині діапазону пристрою) і відображатимуться.
color: #fb0; color: #ffbb00; color: rgb(255,0,0); color: rgb(100%, 0%, 0%);
2.2.2. Кольори моделі RGBA
Колірна модель RGB розширена в цій специфікації, щоб увімкнути alpha , яка керує непрозорістю кольору. На відміну від значень RGB, для значення RGBA немає шістнадцяткового запису.
Формат значення RGBA у функціональній нотації - rgba (за яким слідує розділений комами список з трьох числових значень (або трьох цілочисельних значень, або трьох відсоткових значень), за якими слідує значення непрозорості, а потім). Цілочисленне значення 255 відповідає 100%, rgba (255,255,255,0.8) = rgba (100%, 100%, 100%, 0.8). Символи пропуску допускаються навколо числових значень.
Параметр непрозорості застосовується до всього об'єкта. Будь-які значення поза діапазоном від 0.0 (повністю прозорий) до 1.0 (повністю непрозорий) будуть обмежені цим діапазоном.
color: rgba(0,0,255,0.5); color: rgba(100%, 50%, 0%, 0.1);
2.2.3. Ключове слово transparent
Це ключове слово можна вважати скороченням для чорного прозорого кольору rgba (0,0,0,0) , яке є його обчисленим значенням.
2.2.4. HSL кольори
Кольори RGB не інтуїтивно зрозумілі. CSS3 додає числові кольори hue-saturation-lightness (HSL) на додаток до числових кольорів RGB. HSL кольори симетричні світла і темряви, і перетворення HSL в RGB максимально просто.
Кольори HSL кодуються як трійка (відтінок, насиченість, яскравість). Відтінок представлений як кут кольорового кола (тобто веселка, представлена у колі). Цей кут зазвичай вимірюється в градусах, так що ця одиниця виміру неявна CSS; синтаксично дається лише число. За визначенням червоний = 0 = 360, інші кольори розподілені по колу, тому зелений = 120, синій = 240 тощо. Насиченість та яскравість представлені у відсотках. 100% це повне насичення, а 0% це відтінок сірого. Яскравість 0% – чорна, 100% – біла, а 50% – нормальна.
color: hsl(0, 100%, 50%); color: hsl(120, 100%, 50%);
2.2.5. HSLA-значення кольору
Так само як функціональна нотація rgb() має альфа-аналог rgba() , функціональна нотація hsl() має альфа-аналог hsla() .
Формат значення кольору HSLA у функціональній нотації — hsla( , за яким слідують відтінок у градусах, насиченість та яскравість у відсотках, і значення непрозорості, після якого слідує символ). Символи пропуску допускаються навколо числових значень.
color: hsla(240, 100%, 50%, 0.5); color: hsla(30, 100%, 50%, 0.1);
2.3. Розширені ключові слова кольору
У таблиці нижче наведено список кольорів, що підтримуються популярними браузерами.
| Назва | HEX | RGB | Колір |
|---|---|---|---|
| aliceblue | #F0F8FF | 240,248,255 | |
| antiquewhite | #FAEBD7 | 250,235,215 | |
| aqua | #00FFFF | 0,255,255 | |
| aquamarine | #7FFFD4 | 127,255,212 | |
| azure | #F0FFFF | 240,255,255 | |
| beige | #F5F5DC | 245,245,220 | |
| bisque | #FFE4C4 | 255,228,196 | |
| black | #000000 | 0,0,0 | |
| blanchedalmond | #FFEBCD | 255,235,205 | |
| blue | #0000FF | 0,0,255 | |
| blueviolet | #8A2BE2 | 138,43,226 | |
| brown | #A52A2A | 165,42,42 | |
| burlywood | #DEB887 | 222,184,135 | |
| cadetblue | #5F9EA0 | 95,158,160 | |
| chartreuse | #7FFF00 | 127,255,0 | |
| chocolate | #D2691E | 210,105,30 | |
| coral | #FF7F50 | 255,127,80 | |
| cornflowerblue | #6495ED | 100,149,237 | |
| cornsilk | #FFF8DC | 255,248,220 | |
| crimson | #DC143C | 220,20,60 | |
| cyan | #00FFFF | 0,255,255 | |
| darkblue | #00008B | 0,0,139 | |
| darkcyan | #008B8B | 0,139,139 | |
| darkgoldenrod | #B8860B | 184,134,11 | |
| darkgray | #A9A9A9 | 169,169,169 | |
| darkgreen | #006400 | 0,100,0 | |
| darkkhaki | #BDB76B | 189,183,107 | |
| darkmagenta | #8B008B | 139,0,139 | |
| darkoliegreen | #556B2F | 85,107,47 | |
| darkorange | #FF8C00 | 255,140,0 | |
| darkorchid | #9932CC | 153,50,204 | |
| darkred | #8B0000 | 139,0,0 | |
| darksalmon | #E9967A | 233,150,122 | |
| darkseagreen | #8FBC8F | 143,188,143 | |
| darkslateblue | #483D8B | 72,61,139 | |
| darkslategray | #2F4F4F | 47,79,79 | |
| darkturquoise | #00CED1 | 0,206,209 | |
| darkviolet | #9400D3 | 148,0,211 | |
| deeppink | #FF1493 | 255,20,147 | |
| deepskyblue | #00BFFF | 0,191,255 | |
| dimgray | #696969 | 105,105,105 | |
| dodgerblue | #1E90FF | 30,144,255 | |
| firebrick | #B22222 | 178,34,34 | |
| floralwhite | #FFFAF0 | 255,250,240 | |
| forestgreen | #228B22 | 34,139,34 | |
| fuchsia | #FF00FF | 255,0,255 | |
| gainsboro | #DCDCDC | 220,220,220 | |
| ghostwhite | #F8F8FF | 248,248,255 | |
| gold | #FFD700 | 255,215,0 | |
| goldenrod | #DAA520 | 218,165,32 | |
| gray | #808080 | 128,128,128 | |
| green | #008000 | 0,128,0 | |
| greenyellow | #ADFF2F | 173,255,47 | |
| honeydew | #F0FFF0 | 240,255,240 | |
| hotpink | #FF69B4 | 255,105,180 | |
| indianred | #CD5C5C | 205,92,92 | |
| indigo | #4B0082 | 75,0,130 | |
| ivory | #FFFFF0 | 255,255,240 | |
| khaki | #F0E68C | 240,230,140 | |
| lavender | #E6E6FA | 230,230,250 | |
| lavenderblush | #FFF0F5 | 255,240,245 | |
| lawngreen | #7CFC00 | 124,252,0 | |
| lemonchiffon | #FFFACD | 255,250,205 | |
| lightblue | #ADD8E6 | 173,216,230 | |
| lightcoral | #F08080 | 240,128,128 | |
| lightcyan | #E0FFFF | 224,255,255 | |
| lightgoldenrodyellow | #FAFAD2 | 250,250,210 | |
| lightgray | #D3D3D3 | 211,211,211 | |
| lightgreen | #90EE90 | 144,238,144 | |
| lightpink | #FFB6C1 | 255,182,193 | |
| lightsalmon | #FFA07A | 255,160,122 | |
| lightseagreen | #20B2AA | 32,178,170 | |
| lightskyblue | #87CEFA | 135,206,250 | |
| lightslategray | #778899 | 119,136,153 | |
| lightsteelblue | #B0C4DE | 176,196,222 | |
| lightyellow | #FFFFE0 | 255,255,224 | |
| lime | #00FF00 | 0,255,0 | |
| limegreen | #32CD32 | 50,205,50 | |
| linen | #FAF0E6 | 250,240,230 | |
| magenta | #FF00FF | 255,0,255 | |
| maroon | #800000 | 128,0,0 | |
| mediumaquamarine | #66CDAA | 102,205,170 | |
| mediumblue | #0000CD | 0,0,205 | |
| mediumorchid | #BA55D3 | 186,85,211 | |
| mediumpurple | #9370DB | 147,112,219 | |
| mediumseagreen | #3CB371 | 60,179,113 | |
| mediumslateblue | #7B68EE | 123,104,238 | |
| mediumspringgreen | #00FA9A | 0,250,154 | |
| mediumturquoise | #48D1CC | 72,209,204 | |
| mediumvioletred | #C71585 | 199,21,133 | |
| midnightblue | #191970 | 25,25,112 | |
| mintcream | #F5FFFA | 245,255,250 | |
| mistyrose | #FFE4E1 | 255,228,225 | |
| moccasin | #FFE4B5 | 255,228,181 | |
| navajowhite | #FFDEAD | 255,222,173 | |
| navy | #000080 | 0,0,128 | |
| oldlace | #FDF5E6 | 253,245,230 | |
| olive | #808000 | 128,128,0 | |
| olivedrab | #6B8E23 | 107,142,35 | |
| orange | #FFA500 | 255,165,0 | |
| orangered | #FF4500 | 255,69,0 | |
| orchid | #DA70D6 | 218,112,214 | |
| palegoldenrod | #EEE8AA | 238,232,170 | |
| palegreen | #98FB98 | 152,251,152 | |
| paleturquoise | #AFEEEE | 175,238,238 | |
| palevioletred | #DB7093 | 219,112,147 | |
| papayawhip | #FFEFD5 | 255,239,213 | |
| peachpuff | #FFDAB9 | 255,218,185 | |
| peru | #CD853F | 205,133,63 | |
| pink | #FFC0CB | 255,192,203 | |
| plum | #DDA0DD | 221,160,221 | |
| powderblue | #B0E0E6 | 176,224,230 | |
| purple | #800080 | 128,0,128 | |
| red | #FF0000 | 255,0,0 | |
| rosybrown | #BC8F8F | 188,143,143 | |
| royalblue | #4169E1 | 65,105,225 | |
| saddlebrown | #8B4513 | 139,69,19 | |
| salmon | #FA8072 | 250,128,114 | |
| sandybrown | #F4A460 | 244,164,96 | |
| seagreen | #2E8B57 | 46,139,87 | |
| seashell | #FFF5EE | 255,245,238 | |
| sienna | #A0522D | 160,82,45 | |
| silver | #C0C0C0 | 192,192,192 | |
| skyblue | #87CEEB | 135,206,235 | |
| slateblue | #6A5ACD | 106,90,205 | |
| slategray | #708090 | 112,128,144 | |
| snow | #FFFAFA | 255,250,250 | |
| springgreen | #00FF7F | 0,255,127 | |
| steelblue | #4682B4 | 70,130,180 | |
| tan | #D2B48C | 210,180,140 | |
| teal | #008080 | 0,128,128 | |
| thistle | #D8BFD8 | 216,191,216 | |
| tomato | #FF6347 | 255,99,71 | |
| turquoise | #40E0D0 | 64,224,208 | |
| violet | #EE82EE | 238,130,238 | |
| wheat | #F5DEB3 | 245,222,179 | |
| white | #FFFFFF | 255,255,255 | |
| whitesmoke | #F5F5F5 | 245,245,245 | |
| yellow | #FFFF00 | 255,255,0 | |
| yellowgreen | #9ACD32 | 154,205,50 |
2.4. Ключове слово currentColor
CSS1 та CSS2 визначили початкове значення властивості border-color як значення властивості color, але не визначили відповідне ключове слово. Цей недогляд був розпізнаний SVG, тому SVG 1.0 ввів значення currentColor для властивостей fill , stroke , stop-color , flood-color і lighting-color . CSS3 розширює значення кольору, додаючи ключове слово currentColor , щоб дозволити його використання з усіма властивостями, які набувають значення color . Це спрощує визначення цих властивостей у CSS3.
Ключове слово currentColor, що використовується, — це обчислене значення властивості color . Якщо ключове слово встановлено у властивості color , воно розглядається як color: inherit .
Як вказати колір у CSS. Властивість color
CSS-властивість color дозволяє задавати колір тексту та фону елемента на веб-сторінці.
Синтаксис
selector – це селектор елемента, до якого потрібно застосувати стилі, color – назва властивості, а value – значення кольору.
успадкування
Властивість color є успадкованою, що означає, що дочірні елементи успадковують колір тексту від своїх батьківських елементів, якщо вона не перевизначена в них самих.
Значення якості color
Значення може бути встановлене для будь-якого елемента HTML, включаючи текст, посилання, заголовки та інші елементи. Воно може бути задано як всередині HTML-тега, так і всередині файлу CSS.
Детально про колірні формати розповіли у статті.
Властивість color може приймати такі значення.
Назва кольору
Значення властивості color може бути задано назвою кольору англійською мовою, наприклад, red червоний, blue синій і так далі.
Список усіх доступних назв кольорів зі специфікації CSS
RGB - Red, Green, Blue
Модель кольору, заснована на комбінації червоного, зеленого та синього кольорів. Приклад: rgb(255, 0, 0) , де перше число є значенням червоного кольору, друге число — зеленого кольору, а третє число — синього кольору. Кожне значення може бути від 0 до 255 .
RGBA - Red, Green, Blue, Alpha
Розширення RGB, яке окрім трьох кольорів, включає значення прозорості. Приклад: rgba(255, 0, 0, 0.5) , де перші три числа - значення RGB, а останнє - значення прозорості, яке може бути в діапазоні від 0 - повністю прозорий до 1 - повністю непрозорий.
HSL - Hue, Saturation, Lightness
Модель кольору, заснована на відтінку – hue, насиченості – saturation та яскравості – lightness кольору. Приклад: hsl(0, 100%, 50%) , де перше число значення відтінку в градусах, друге число значення насиченості у відсотках, а третє число значення яскравості у відсотках.
HSLA - Hue, Saturation, Lightness, Alpha
Розширення HSL, яке також включає значення прозорості. Приклад: hsla(0, 100%, 50%, 0.5) , де перші три числа значення HSL, а останнє число значення прозорості, яке може бути в діапазоні від 0 повністю прозорий до 1 повністю непрозорий.
HEX - Hexadecimal
Формат кольору, що базується на шістнадцятковому коді кольору. Приклад: #FF0000 , де перші дві цифри позначають значення червоного кольору у шістнадцятковому форматі від 00 до FF , наступні дві цифри позначають значення зеленого кольору, а останні дві цифри позначають значення синього кольору.
У CSS також існує кілька спеціальних ключових слів, які можна використовувати як значення якості color. Наприклад, transparent означає повністю прозорий колір, а поточнийColor використовується для визначення поточного кольору елемента.
Приклади використання
Зміна кольору тексту:
Цей текст буде змінено.
Зміна кольору тла:
Цей блок буде змінено фоновим кольором.
Зміна кольору кордону:
Цей блок буде зі зміненим кольором кордону.
Нюанси використання
Контраст. При виборі кольору тексту для посилань бажано використовувати контрастний колір, який помітно відрізняється від кольору звичайного тексту.
Читання. При використанні різних стилів тексту, наприклад жирного або курсиву, необхідно переконатися, що колір тексту залишається читаним і насиченим.
Сприйняття. Колір тексту може впливати на емоційне сприйняття контенту, тому потрібно вибирати його залежно від мети та настрою сторінки.
Матеріали на тему
"Доктайп" - журнал про фронтенд. Читайте, слухайте та навчайтеся з нами.
Читати далі
Псевдоклас
Псевдоклас :link CSS призначений для стилізації посилань, які ще не були відвідані користувачем. Цей псевдоклас дозволяє розробникам задавати зовнішній вигляд для невідвіданих посилань окремо від тих, якими користувач вже переходив, що допомагає краще орієнтуватися на сторінці і підвищує зручність використання сайту.
Приклад використання псевдокласу :link для стилізації невідвіданих посилань:
У цьому прикладі для всіх невідвіданих посилань встановлюється синій колір ( #007bff ) і забирається підкреслення. Це робить зовнішній вигляд посилань акуратнішим і одночасно інформативним, оскільки користувач може легко відрізнити їх від вже відвіданих ( :visited ) посилань.
При роботі з :link важливо пам'ятати, що цей псевдоклас повинен використовуватися в поєднанні з псевдокласом :visited для повної стилізації станів посилань.Також рекомендується визначати стилі для псевдокласів :hover та :active , щоб забезпечити інтерактивний та чуйний інтерфейс.
Приклад повного набору стилів для посилань:
a:link < color: #007bff; text-decoration: none; >a:visited < color: #666; >a:hover < color: #0056b3; text-decoration: underline; >a:active
У цьому прикладі задаються різні стилі для всіх можливих станів посилань: :link для невідвідених, :visited для відвіданих, :hover при наведенні курсору та :active у момент натискання на посилання. Такий підхід дозволяє створити більш динамічний та інтуїтивно зрозумілий інтерфейс веб-сторінки.
Селектор нащадків (пробіл)
Селектор нащадків CSS використовується для вибору елементів, які є нащадками іншого елемента в структурі документа. Цей селектор позначається простою пробілом між двома селекторами і дозволяє застосувати стилі до елементів, що знаходяться всередині інших елементів, незалежно від глибини вкладеності.
Приклад використання селектора нащадків:
У цьому прикладі всі абзаци (
), які знаходяться всередині елемента, будуть пофарбовані в темно-сірий колір і отримають міжрядковий інтервал у півтора розміру шрифту. Селектор нащадків дозволяє легко керувати стилем конкретних елементів, зберігаючи при цьому загальну структуру та читання коду.
Селектор нащадків особливо корисний у таких випадках:
- Структурування контенту: Допомагає стилізувати елементи всередині певних секцій або компонентів, не торкаючись схожих елементів в інших частинах сторінки.
- Тематичне оформлення: Використовується для застосування унікальних стилів до елементів, які розташовані всередині певних контейнерів, наприклад, для статей, сайдбарів або футерів.
- Ізоляція стилів: Забезпечує локальне застосування стилів, запобігаючи їх випадковому розповсюдженню на інші елементи документа.
Застосування селектора нащадків спрощує створення модульної структури стилів, що легко підтримується, дозволяючи розробникам більш точно і гнучко керувати зовнішнім виглядом веб-сторінки.
Однак, важливо дотримуватися балансу і уникати занадто глибокої вкладеності селекторів, оскільки це може ускладнити підтримку та оптимізацію коду. Рекомендується використовувати селектор нащадків з розумом, орієнтуючись на підтримку чистоти та простоти структури CSS.
Псевдоклас
Псевдоклас :focus CSS використовується для стилізації елементів, які отримали фокус. Це може бути, наприклад, текстове поле у формі, до якого користувач перемістив курсор для введення або посилання, вибране через клавіатурне введення. Псевдоклас :focus дозволяє створити більш інтерактивний і доступний інтерфейс користувача, підсвічуючи активні або вибрані елементи.
Приклад використання :focus :
У цьому прикладі для всіх текстових полів (input) при отриманні фокусу змінюватиметься колір кордону на синій та фоновий колір на світло-синій. Це забезпечує наочний зворотний зв'язок користувачеві про те, який елемент форми активний в даний момент, покращуючи загальну доступність користувача і зручність використання інтерфейсу.
Псевдоклас :focus особливо важливий для:
- Поліпшення доступності: Він допомагає користувачам з обмеженими можливостями або тими, хто використовує клавіатурне введення замість миші, розуміти, який елемент керування в даний момент активний.
- Підвищення інтерактивності: Візуальна відмінність активних елементів робить інтерфейс більш дружнім та зрозумілим для користувача.
- Створення стилістичних акцентів: Дозволяє додавати унікальні стилістичні особливості інтерактивних елементів інтерфейсу, підкреслюючи їх функціональність.
Застосування :focus у поєднанні з іншими псевдокласами, такими як :hover та :active , дозволяє створити комплексне візуальне уявлення різних станів елементів управління, роблячи інтерфейс більш інтуїтивно зрозумілим та приємним у використанні.
Однак, важливо пам'ятати, що стилізація елементів за допомогою :focus повинна бути досить помітною, щоб користувач міг легко ідентифікувати фокусований елемент, але при цьому не повинна бути надто нав'язливою, щоб не відволікати від загального сприйняття інтерфейсу.
Селектор з id
CSS-селектор за ідентифікатором (id) дозволяє стилізувати елементи веб-сторінки, які мають унікальний ідентифікатор. Використання селектора по id уможливлює точкове застосування стилів до конкретного елемента, не торкаючись інших елементів на сторінці.
Селектор id позначається знаком решітки ( # ) перед ім'ям ідентифікатора. Ідентифікатори HTML повинні бути унікальними в межах документа, що робить селектор по id потужним інструментом для стилізації конкретних елементів.
Приклад використання селектора по id:
Цей елемент є унікальним.
У цьому прикладі елементу з id="uniqueElement" надаються стилі, що роблять текст зеленим і збільшують розмір шрифту до 20 пікселів. Ці стилі будуть застосовані лише до цього конкретного елемента завдяки унікальності ідентифікатора.
Переваги використання селектора по id:
- Точкова стилізація: Селектор по ID дозволяє застосовувати стилі до конкретного елемента, не впливаючи на інші елементи.
- Високий пріоритет: Стилі, застосовані через селектор по ID, мають більш високий пріоритет, ніж стилі, застосовані через класи та теги, що полегшує перевизначення стилів.
- Ідентифікатор має бути унікальним у межах всього HTML-документа.
- Зловживання селекторами по ID може зробити CSS-код складним для підтримки, особливо у великих проектах. Рекомендується використовувати їх з розумом, віддаючи перевагу класам для стилізації, коли це можливо.
- Селектори id можуть збільшити специфічність CSS-правил, що іноді утруднює їх перевизначення.
Використання селектора id є потужним інструментом в арсеналі веб-розробника, дозволяючи точково впливати на стиль окремих елементів сторінки.
Кілька селекторів через кому
Список селекторів у CSS являє собою перелік селекторів, розділених комами, що дозволяє застосувати той самий набір стилів до різних елементів веб-сторінки. Цей метод спрощує написання CSS-коду, позбавляючи необхідності дублювати стилі для кожного типу елементів окремо.
Приклад використання списку селекторів для стилізації заголовків, абзаців та елементів списку:
Застосування списку селекторів є ефективним у багатьох ситуаціях, включаючи:
- Застосування базових стилів тексту (колір, шрифт, розмір) до різних типів елементів.
- Скидання стандартних відступів для елементів списку, параграфів та інших блокових елементів.
- Встановлення загальних стилів для інтерактивних елементів, таких як кнопки та посилання, у різних частинах веб-сторінки.
При роботі зі списком селекторів важливо враховувати, що стилі будуть застосовані до всіх вказаних елементів. Для більш специфічних стильових завдань слід використовувати класи чи ідентифікатори, і навіть більш конкретні типи селекторів.
Списки селекторів покращують читаність та підтримуваність CSS-коду, дозволяючи розробникам ефективніше керувати стилями веб-сторінки. Цей підхід сприяє скороченню дублювання коду та забезпечує більш упорядковану структуру стилів.
Суміжний селектор +
Суміжний селектор CSS, що позначається знаком плюс ( + ), дозволяє вибирати елемент, який є безпосереднім сусідом іншого елемента на тому самому рівні ієрархії DOM. Цей селектор ефективний для застосування стилів до елемента, що знаходиться в точному порядку після іншого елемента в коді HTML.
Приклад застосування суміжного селектора:
Суміжний селектор знаходить широке застосування у веб-розробці для детального налаштування відступів між елементами та для реалізації певних стильових ефектів, що залежать від положення елементів щодо документа.
При використанні суміжного селектора важливо враховувати такі моменти:
- Застосовуйте суміжний селектор з розумом, особливо у складних структурах HTML, оскільки зміни у розмітці можуть вплинути на його працездатність.
- Суміжний селектор ідеальний для випадків, коли необхідно модифікувати стиль елемента в залежності від його розташування по відношенню до попереднього елемента на тому самому рівні.
- Обмежте використання суміжного селектора для підтримки простоти та читання коду, особливо коли йдеться про великі стильові листи.
Дотримання стандартів кодування та увага до деталей в оформленні допоможуть створити легко підтримуваний та гнучкий код CSS, що сприяє ефективній стилізації веб-сторінок.
Селектор тип
Селектори типу CSS використовуються для вибору HTML-елементів, відповідних певному імені тега.Вони дозволяють застосовувати стилі до елементів, не покладаючись на класи або ідентифікатори, що робить їх ідеальними для встановлення базових стилів для стандартних елементів сторінки, таких як абзаци, заголовки та списки.
Приклад використання селектора типу для стилізації всіх абзаців (
) на сторінці:
У цьому прикладі кожному абзацу на веб-сторінці задається шрифт Helvetica, міжрядковий інтервал у півтора рази більший за розмір шрифту і темно-сірий колір тексту.
Селектори типу корисні для завдання загальних стилів елементам, які часто використовуються в документі, і є основою каскадності в CSS.
При роботі з селекторами типу рекомендується дотримуватися принципів чистого коду та кращих практик веб-розробки:
- Використовуйте типи селекторів для встановлення базових стилів документа, таких як шрифт, розмір тексту та колір.
- Намагайтеся не перевизначати стилі селекторів типу надто специфічними селекторами без необхідності уникнути конфліктів і складнощів з каскадом.
- Для забезпечення читання та підтримуваності коду дотримуйтесь угод про написання CSS, включаючи використання малих літер для селекторів та властивостей, додавання пробілу перед фігурною дужкою та одного рівня відступу для властивостей усередині правила.
Дотримання цих рекомендацій допоможе створити структурований та легко підтримуваний код, який полегшить подальшу розробку та оновлення веб-сайту.
Універсальний селектор *
У CSS універсальний селектор * (зірочка) використовується для застосування стилів до всіх елементів на веб-сторінці. Цей селектор корисний, коли потрібно встановити загальні стилі для всього документа, наприклад, для скидання стандартних відступів або завдання базового шрифту.
Приклад використання універсального селектора для скидання стандартних відступів та завдання базового шрифту:
У цьому прикладі всі елементи сторінки обнуляють зовнішні та внутрішні відступи ( margin і padding ), а також встановлюють шрифт Arial як базовий для всього документа.
Використання універсального селектора робить стилізацію більш передбачуваною, оскільки видаляє відмінності у відображенні елементів, які можуть бути встановлені браузером за замовчуванням. Однак слід бути обережним з його використанням, оскільки застосування надто численних стилів до всіх елементів може сповільнити завантаження сторінки.
При роботі з CSS важливо дотримуватися рекомендацій щодо стилю коду, щоб забезпечити читання та підтримуваність коду. Наприклад, згідно з рекомендаціями HTML Academy:
- Селектори та властивості записуються малими літерами.
- Перед відкриває фігурною дужкою ставиться пробіл, властивості перераховуються з нового рядка з одним рівнем відступу.
- Після двокрапки в оголошенні якості слідує пробіл.
- Наприкінці оголошення властивості ставиться крапка з комою.
- Між блоками правил залишається один порожній рядок для кращого читання.
Ігри з нескінченністю, або навіщо нам infinity в CSS
💡 Це переклад статті Will Boyd з блогу CodersBlock. Оригінал: https://codersblock.com/blog/playing-with-infinity-in-css/
У CSS є константа Infinity. Коли я тільки дізнався про це, до мене в голову відразу спала гора абсурдних ідей, як це використовувати, серед яких була й пара непоганих.
Ну мені так здається.
До речі, якщо що, infinity можна використовувати тільки всередині calc() .
🚀 Сьогодні вам безкоштовно доступний тренажер з HTML та CSS.
Міжрядкова відстань у CSS.
line-height визначає інтерліньяж, тобто відстань між базовими лініями сусідніх рядків тексту. Ця властивість може впливати на читабельність тексту і його сприйняття.
Значення line-height можна вказувати як у абсолютних одиницях (наприклад, px , pt ), і у відносних ( em , % , без одиниці виміру). Рекомендується використовувати відносні одиниці, оскільки дозволяють зберегти масштабируемость і адаптивність тексту.
- line-height: 1.2; - відносне значення, що не залежить від розміру шрифту.
- line-height: 20px; - абсолютне значення, фіксований розмір інтерліньяжу.
- line-height: 1.5em; - Відносне значення, що залежить від розміру шрифту елемента.
