Перевірка знань по темі CSS

1. Що таке CSS і для чого він потрібен?

CSS (Cascading Style Sheets) — це мова стилів, яка визначає, як HTML-елементи відображаються на сторінці.

  • Встановлює кольори, шрифти, відступи, розміри блоків
  • Дозволяє робити адаптивний дизайн
  • Розділяє структуру (HTML) і стиль (CSS)
2. Як підключити CSS до HTML (inline, internal, external)?
  • Inline: всередині тегу HTML через атрибут style
    <p style="color:red;">Текст</p>
  • Internal: всередині тегу <style> в HTML
    <style> p { color: red; }</style>
  • External: через окремий файл CSS
    <link rel="stylesheet" href="style.css">
3. Що таке селектори та які їх типи?

Селектори визначають, до яких елементів застосовувати стиль.

  • Тегові: p { color: blue; }
  • Класові: .button { padding: 10px; }
  • ID: #header { background: gray; }
  • Універсальний: * { margin: 0; }
  • Комбіновані: div p { font-size: 14px; }
  • Псевдокласи та псевдоелементи: :hover, ::before

CSS застосовує стилі за пріоритетом: Inline > Internal > External; також враховується специфічність селекторів.

4. Чим відрізняються класи від id?
  • Клас (.class): можна застосувати до багатьох елементів
  • ID (#id): унікальний для одного елемента на сторінці
  • ID має вищий пріоритет у CSS (specificity)
5. Що таке універсальний селектор *?

Універсальний селектор застосовує стиль до всіх елементів на сторінці.

* { margin: 0; padding: 0; }

Зазвичай використовується для "CSS reset".

6. Як працює селектор нащадків parent descendant?

Селектор нащадків застосовує стиль до елементів, які знаходяться всередині іншого елемента.

div p { color: blue; }

Всі p всередині div стануть синіми.

7. Що таке псевдокласи :hover, :first-child і як їх використовувати?

Псевдокласи змінюють стиль елемента в певному стані.

  • :hover — коли курсор миші на елементі
  • :first-child — перший елемент серед братів
  • Приклад:
    button:hover { background: green; }
8. Як працюють групові селектори h1, h2, h3 { ... }?

Груповий селектор застосовує один стиль до кількох елементів.

h1, h2, h3 { margin: 0; }
9. Що таке властивість кольору в CSS?

Властивість color визначає, який колір буде застосовано до тексту або елемента. Найчастіше використовується для тексту, але є й інші властивості для кольору фону, рамок тощо.

Основні способи задання кольору:

  • Назви: color: red;
  • HEX (шістнадцятковий код): color: #FF0000;
  • RGB (Red, Green, Blue): color: rgb(255, 0, 0);
  • HSL (Hue, Saturation, Lightness): color: hsl(0, 100%, 50%);
10. Чим відрізняються відносні та абсолютні одиниці (px, %, em, rem, vw, vh)?
  • px — фіксовані пікселі
  • % — відсоток від батьківського елемента
  • em — від розміру шрифту батька
  • rem — від розміру шрифту кореня (html)
  • vw / vh — від ширини / висоти viewport (1vw = 1% ширини)
11. Що таке inherit і initial у CSS?
  • inherit — успадковує значення від батьківського елемента
  • initial — встановлює значення за замовчуванням для властивості
12. Як працює пріоритет CSS (specificity)?

CSS-селектори мають “вагу” (числовий показник):

Inline (вбудований стиль) = 1000,
ID-селектор = 100,
Клас / псевдоклас / атрибут = 10,
Тег / псевдоелемент = 1,
Універсальний селектор = 0


Браузер застосовує стиль з найвищою специфічністю.

Приклад:

p { color: blue; }          /* вага = 1 */
.button { color: green; }   /* вага = 10 */
#header { color: red; }     /* вага = 100 */

Якщо <p id="header" class="button">Текст</p>, то текст буде червоним, бо ID-селектор має більшу специфічність за клас і тег.
13. Що таке коментарі в CSS і як їх правильно писати?

Коментарі допомагають пояснювати код і не виконуються браузером.

/* Це коментар */
14 Як працює правило !important і коли його варто використовувати?

!important примусово підвищує пріоритет стилю.

p { color: red !important; }

Використовувати рідко, лише у крайніх випадках, бо порушує логіку cascade.

15. Як задавати фон в CSS

Властивість background дозволяє задавати колір, зображення та інші параметри одночасно:

Деталі параметрів:

lightblue — колір фону; url('image.jpg') — зображення; no-repeat — заборона повторення; center — позиція; cover — масштабування на весь елемент

І окремі властивості фонів:

background-repeat: repeat, no-repeat, repeat-x, repeat-y;
background-position: center, top right тощо;
background-size: cover, contain, px/%;
background-attachment: scroll, fixed

body {
  background: lightblue url('image.jpg') no-repeat center/cover;
}
16. Як працює властивість opacity?

Визначає прозорість елемента від 0 до 1.

div { opacity: 0.5; }

0 — повністю прозорий, 1 — повністю непрозорий.

17. Що таке box model і які її складові?

Box model описує, як елемент займає місце на сторінці:

  • content — вміст
  • padding — внутрішній відступ — простір між контентом і рамкою
  • border — рамка
  • margin — зовнішній відступ — простір навколо елемента, між іншими елементами
18. Що таке CSS reset і normalize.css?
  • Reset — обнуляє всі стилі браузера (margin, padding тощо).
  • Normalize.css — робить стилі більш узгодженими між браузерами, але не повністю обнуляє.
19. Чим відрізняється inline, block та inline-block елементи?
  • inline — не переносить рядок, займає лише ширину контенту
  • block — займає всю ширину, починається з нового рядка
  • inline-block — як inline, але можна задавати ширину та висоту
20. Що таке CSS reset і для чого він потрібен?

CSS reset прибирає стандартні стилі браузера, щоб усі елементи виглядали однаково на різних пристроях.

* { margin: 0; padding: 0; box-sizing: border-box; }
21. Як змінити шрифт тексту за допомогою CSS?

Властивість font-family дозволяє вказати бажаний шрифт. Можна задавати кілька шрифтів через кому: якщо перший не доступний, браузер використає наступний.

p { font-family: "Arial", "Helvetica", sans-serif; }

Варто вказувати запасний "generic" шрифт: serif, sans-serif, monospace, cursive, fantasy.

22. Що таке властивість font-size і як задавати розмір шрифту?

Задає розмір тексту. Можна використовувати абсолютні (px) і відносні одиниці (em, rem, %, vw):

p { font-size: 16px; }
h1 { font-size: 2em; } /* у 2 рази більше за батьківський */

Для адаптивності краще використовувати em, rem, або clamp().

23. Як працює властивість font-weight і які є значення?

Відповідає за товщину шрифту. Є ключові слова та числові значення (100–900):

p { font-weight: normal; }  /* 400 */
p { font-weight: bold; }    /* 700 */
p { font-weight: 300; }     /* тонший */

Не всі шрифти підтримують усі значення — частіше працюють normal та bold.

24. Що таке font-style і як робити курсив чи нормальний текст?

Визначає стиль написання:

p { font-style: normal; }
p { font-style: italic; }   /* курсив */
p { font-style: oblique; }  /* нахилений текст */

italic — справжній курсив, oblique — лише нахил.

25. Як працює line-height і для чого він потрібен?

Встановлює висоту рядка тексту, впливає на відстань між рядками.

p { line-height: 1.5; } /* 150% від розміру шрифту */

Може задаватися в одиницях (px) або як множник (1.5 = 150%).

26. Що таке letter-spacing і як змінювати відстань між буквами?

Регулює проміжки між символами:

p { letter-spacing: 2px; }
p { letter-spacing: -1px; } /* тісніше */

Може бути корисно для логотипів чи стилізації заголовків.

27. Як використовувати text-transform для зміни регістру?

Перетворює регістр тексту без зміни HTML:

p { text-transform: uppercase; }  /* ВЕЛИКІ */
p { text-transform: lowercase; }  /* маленькі */
p { text-transform: capitalize; } /* Перші Літери Великі */
28. Що таке text-decoration?

Керує декоративними лініями:

a { text-decoration: underline; }
del { text-decoration: line-through; }
h1 { text-decoration: overline; }

Додатково можна змінювати стиль і колір: text-decoration-style, text-decoration-color.

29. Як вирівнювати текст за допомогою text-align?

Вирівнює текст по горизонталі:

p { text-align: left; }
p { text-align: center; }
p { text-align: right; }
p { text-align: justify; } /* по ширині */

Застосовується до блочного контейнера, в якому є текст.

30. Як працює vertical-align і коли він застосовується?

Вирівнює елементи по вертикалі в рядковому контексті (наприклад, картинка в тексті):

img { vertical-align: middle; }

Не працює для блочних елементів — для цього використовують Flexbox або Grid.

31. Що таке блокова модель box model і як вона впливає на елементи?

Кожен елемент у CSS складається з 4 частин:

  • content – сам вміст (текст, зображення)
  • padding – внутрішні відступи
  • border – рамка
  • margin – зовнішні відступи
[margin] → [border] → [padding] → [content]
32. Як працює width і height для блоків?

Визначають ширину й висоту елемента:

div { width: 200px; height: 100px; }

Значення можуть бути у px, %, vw/vh, em/rem.

33. Що таке min-width, max-width, min-height, max-height?

Обмежують розміри елементів, щоб вони не були занадто великими чи маленькими:

div { min-width: 200px; max-width: 800px; }

Корисно для адаптивної верстки.

34. Як працює overflow (visible, hidden, scroll, auto)?

Вказує, як відображати вміст, який виходить за межі блока:

div { overflow: visible; } /* за замовчуванням */
div { overflow: hidden; }  /* обрізає */
div { overflow: scroll; }  /* завжди показує скрол */
div { overflow: auto; }    /* скрол при потребі */
35. Що таке display і основні значення?

Визначає, як елемент поводиться у потоці:

display: block;        /* блочний елемент */
display: inline;       /* у рядку */
display: inline-block; /* як inline, але з шириною/висотою */
display: none;         /* приховує */

Існують й інші значення: flex, grid, inline-flex.

36. Як працює position (static, relative, absolute, fixed, sticky)?

Визначає спосіб позиціонування елемента:

  • static – стандартне розташування
  • relative – зміщення від звичайної позиції
  • absolute – відносно найближчого "positioned" предка
  • fixed – відносно вікна браузера
  • sticky – "прилипає" при скролі
37. Що таке z-index і як змінювати порядок шарів?

Керує накладанням елементів по осі Z (вище/нижче):

.box1 { position: absolute; z-index: 1; }
.box2 { position: absolute; z-index: 10; }

Більше значення — вище в стеку. Працює тільки для позиціонованих елементів.

38. Як працюють float та clear у CSS?

float використовується, щоб вирівняти елемент ліворуч або праворуч, дозволяючи іншим елементам обтікати його.

img { float: left; }  /* картинка зліва, текст обтікає справа */

clear «очищає» обтікання і переносить елемент нижче елементів з float.

div { clear: both; }  /* не дозволяє стати поряд з елементами, що мають float */
  • clear: left; — прибирає обтікання зліва
  • clear: right; — справа
  • clear: both; — з обох боків

Сьогодні float рідко використовується для макетів — його замінили Flexbox та Grid. Але він досі корисний для картинок у тексті.

39. Як працює box-sizing і в чому різниця між content-box та border-box?

Визначає, як рахувати ширину та висоту елемента:

  • content-box – width/height враховує лише контент
  • border-box – width/height включає padding + border
* { box-sizing: border-box; }

Зручніше для верстки — елементи не "вилазять" за розміри.

40. Як відцентрувати блоковий елемент у CSS?

Є кілька способів центрувати елемент по горизонталі та/або вертикалі:

  • По горизонталі (margin auto):
    .box {
      width: 200px;
      margin: 0 auto;
    }
  • Flexbox (по центру по обидвох осях):
    .parent {
      display: flex;
      justify-content: center; /* горизонтально */
      align-items: center;     /* вертикально */
    }
  • Grid:
    .parent {
      display: grid;
      place-items: center;
    }
  • Абсолютне позиціювання:
    .box {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

Рекомендовано використовувати Flexbox або Grid для сучасних проєктів.

41. Що таке Flexbox у CSS?

Flexbox (Flexible Box Layout) — це модель розташування елементів, яка спрощує створення адаптивних макетів.

container {
  display: flex;
}

Основні можливості: вирівнювання по осях, рівномірний розподіл простору, адаптивні блоки.

42. Як працює flex-direction?

Задає напрямок основної осі:

flex-direction: row;        /* за замовчуванням, зліва направо */
flex-direction: row-reverse;
flex-direction: column;     /* зверху вниз */
flex-direction: column-reverse;
43. Що робить властивість justify-content?

Вирівнює елементи по головній осі (горизонтальній або вертикальній залежно від flex-direction):

justify-content: flex-start;
justify-content: flex-end;
justify-content: center;
justify-content: space-between;
justify-content: space-around;
justify-content: space-evenly;
44. Що робить властивість align-items?

Вирівнює елементи по перпендикулярній осі (для row це вертикаль):

align-items: stretch;   /* за замовчуванням */
align-items: flex-start;
align-items: flex-end;
align-items: center;
align-items: baseline;
45. Як працює flex-wrap?

Дозволяє елементам переноситися на новий рядок:

flex-wrap: nowrap;   /* за замовчуванням */
flex-wrap: wrap;     /* дозволяє перенос */
flex-wrap: wrap-reverse;
46. Що таке align-content у Flexbox?

Керує простором між рядками, коли є кілька flex-рядків (при flex-wrap: wrap):

align-content: stretch;
align-content: flex-start;
align-content: flex-end;
align-content: center;
align-content: space-between;
align-content: space-around;
47. Як працюють order і flex для елементів?

order змінює порядок елемента:

.item { order: 2; }

flex — коротка форма для flex-grow, flex-shrink, flex-basis:

.item { flex: 1 1 200px; }
48. Що таке CSS Grid?

Grid — це двовимірна система верстки (рядки + колонки).

container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
}

Grid дає більше контролю над розміщенням, ніж Flexbox.

49. Як працюють grid-template-columns і grid-template-rows?

Визначають кількість і розмір колонок та рядків:

grid-template-columns: 200px 1fr 2fr;
grid-template-rows: 100px auto;

Можна використовувати repeat(), minmax(), fr.

50. Що таке gap у Grid та Flexbox?

Задає відстань між елементами без використання margin:

grid-gap: 20px;
gap: 10px 30px; /* row-gap + column-gap */
51. Як вирівнювати елементи в Grid justify-items, align-items?

Grid має властивості для вирівнювання в кожній комірці:

justify-items: start | center | end | stretch;
align-items: start | center | end | stretch;
52. Як вирівнювати весь Grid justify-content, align-content?

Ці властивості вирівнюють всю сітку в контейнері:

justify-content: space-between;
align-content: center;
53. Як працює grid-area?

Дозволяє розташувати елемент на кілька рядків/колонок:

.item {
  grid-column: 1 / 3; /* займає 2 колонки */
  grid-row: 2 / 4;    /* займає 2 рядки */
}
54. У чому різниця між relative, absolute, fixed, sticky?
  • relative — зміщується від своєї початкової позиції
  • absolute — позиціонується відносно найближчого positioned предка
  • fixed — прив’язаний до вікна браузера
  • sticky — прилипає при прокрутці
55. Як працює top, right, bottom, left?

Визначають зміщення позиціонованого елемента:

.box {
  position: absolute;
  top: 20px;
  left: 50px;
}

Працюють тільки якщо position ≠ static.

56. Що таке clip-path і для чого використовується?

Обрізає елемент за заданою формою:

div {
  clip-path: circle(50%);
}

Можна робити круглі аватарки, складні фігури.

57. Як працює object-fit для зображень та відео?

Визначає, як медіа вміщується в контейнер:

img { object-fit: cover; }
img { object-fit: contain; }
  • cover — заповнює контейнер, обрізаючи
  • contain — повністю вміщується, може бути з полями
  • fill — розтягує
58. Як працює object-position?

Визначає вирівнювання зображення/відео в контейнері:

img {
  object-fit: cover;
  object-position: top center;
}
59. У чому різниця між Flexbox і Grid?
  • Flexbox — одномірний (працює по рядку або колонці).
  • Grid — двомірний (рядки + колонки).
  • Flexbox краще для дрібних компонентів, Grid — для загальної структури сторінки.
60. Що таке resize?

Дозволяє користувачу змінювати розмір елемента: none, both, horizontal, vertical.

61. Що таке CSS transition?

transition додає плавність при зміні властивостей.

button {
  transition: background 0.3s ease, transform 0.2s;
}
button:hover {
  background: red;
  transform: scale(1.1);
}
62. Які параметри має transition?
  • transition-property — які властивості анімувати
  • transition-duration — час анімації
  • transition-timing-function — крива швидкості (ease, linear, ease-in-out, cubic-bezier)
  • transition-delay — затримка
63. Що таке CSS animation?

animation дозволяє створювати багатокадрові анімації з ключовими кадрами.

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
div {
  animation: pulse 2s infinite;
}
64. Які параметри має animation?
  • animation-name — назва keyframes
  • animation-duration — тривалість
  • animation-timing-function — тип анімації
  • animation-delay — затримка
  • animation-iteration-count — кількість повторів (число | infinite)
  • animation-direction — напрям (normal, reverse, alternate)
  • animation-fill-mode — як застосовуються стилі до/після
  • animation-play-state — running | paused
65. У чому різниця між transition і animation?
  • transition — запускається при зміні стану (hover, click).
  • animation — може працювати без тригера, циклічно.
66. Що таке transform у CSS?

Дозволяє змінювати вигляд елементів (переміщати, масштабувати, обертати).

div {
  transform: translate(50px, 20px) rotate(15deg) scale(1.2);
}
67. Як працює transform-origin?

Задає точку, відносно якої виконується трансформація:

transform-origin: center; 
transform-origin: top left;
transform-origin: 50% 100%;
68. Що таке псевдокласи?

Псевдокласи описують особливий стан елемента.

a:hover { color: red; }
input:focus { border-color: blue; }
p:first-child { font-weight: bold; }
69. Найпоширеніші псевдокласи?
  • :hover — при наведенні
  • :focus — при фокусі
  • :active — під час кліку
  • :first-child, :last-child
  • :nth-child(n) — вибір елементів за порядком
  • :not() — виняток
  • :checked — вибраний чекбокс/радіо
70 Що таке псевдоелементи?

Псевдоелементи створюють віртуальні елементи, яких немає в HTML.

p::first-line { font-weight: bold; }
p::first-letter { font-size: 2em; }
div::before { content: "★ "; }
div::after { content: " ✔"; }
71. У чому різниця між псевдокласами та псевдоелементами?
  • Псевдокласи описують стан існуючого елемента.
  • Псевдоелементи створюють віртуальну частину елемента.
a:hover {}   /* псевдоклас */
p::before {} /* псевдоелемент */
72. Що таке ::before та ::after?

Додають вміст до або після елемента (через content).

button::before { content: "👉 "; }
button::after { content: " ✅"; }
73. Як працює content у псевдоелементах?

Обов’язкова властивість для ::before і ::after. Вміст може бути:

  • рядок: content: "Hello";
  • порожній: content: "";
  • url-зображення: content: url(icon.png);
74. Що таке keyframes у CSS?

Ключові кадри визначають етапи анімації:

@keyframes slide {
  from { transform: translateX(0); }
  to   { transform: translateX(100px); }
}
75. Що таке cubic-bezier?

Користувацька функція швидкості для transition/animation.

transition: all 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);

Дозволяє створювати «пружність», «сповільнення» тощо.

76. Як поставити затримку для анімацій?

Через transition-delay або animation-delay.

div {
  animation: fade 1s;
  animation-delay: 2s;
}
77. Що таке infinite у анімаціях?

animation-iteration-count: infinite; означає, що анімація повторюється безкінечно.

div { animation: spin 3s infinite linear; }
78. Як зупинити або запустити анімацію?

Керується властивістю animation-play-state:

div:hover {
  animation-play-state: paused;
}
79. Як працює властивість wil-change?

Вказує браузеру, які властивості можуть змінюватися, щоб оптимізувати рендеринг.

div {
  will-change: transform, opacity;
}

Використовується для плавніших анімацій, але не варто застосовувати без потреби (може навантажувати пам’ять).

80. Як зробити нескінченний ефект «бігучого рядка» в CSS?

Через @keyframes та animation можна створити рух тексту.

.marquee {
  white-space: nowrap;
  overflow: hidden;
}
.marquee span {
  display: inline-block;
  animation: scroll 10s linear infinite;
}
@keyframes scroll {
  from { transform: translateX(100%); }
  to   { transform: translateX(-100%); }
}
81. Що таке CSS-змінні (custom properties)?

CSS-змінні зберігають значення для повторного використання.

:root {
  --main-color: #3498db;
}
button {
  color: var(--main-color);
}
82. Як перевизначати значення CSS-змінних?

Змінні наслідуються і можуть бути перевизначені в межах елемента.

.dark {
  --main-color: #fff;
}
83. Як працює backdrop-filter?

Застосовує фільтри до фону позаду елемента.

.glass {
  backdrop-filter: blur(10px);
}
84. Що таке calc() у CSS?

Дозволяє виконувати обчислення прямо у стилях.

div { width: calc(100% - 50px); }
85. Як працює функція clamp()?

Задає значення між мінімумом і максимумом.

font-size: clamp(14px, 2vw, 24px);
40. Що робить font-size: clamp(22px, 3.2vw, 32px);?

Властивість clamp(MIN, PREFERRED, MAX) задає значення, яке завжди буде між мінімумом і максимумом.

font-size: clamp(22px, 3.2vw, 32px);
  • 22px → мінімальний розмір (менше ніколи не стане)
  • 2.2vw → бажане (динамічне, залежить від ширини вікна)
  • 32px → максимальний розмір (більше не виросте)

Шрифт гнучко підлаштовується під екран: від 22px до 32px, а між ними масштабується через vw.

1vw = 1% від ширини вікна браузера (viewport width).

Якщо ширина вікна = 1000px, тоді 1vw = 10px.

Якщо ширина вікна = 500px, тоді 1vw = 5px.

86. Що таке min(), max() у CSS?

Повертають найменше або найбільше значення.

width: min(50%, 400px);
height: max(100px, 10vh);
87. Як працює @supports (feature queries)?

Дозволяє застосовувати стилі тільки якщо браузер підтримує властивість.

@supports (display: grid) {
  div { display: grid; }
}
88. Як працює lazy-loading зображень і відео?

Медіа завантажуються тільки коли з’являються у viewport.

<img src="photo.jpg" loading="lazy" alt="Фото">
<iframe src="video.mp4" loading="lazy"></iframe>
89. Що таке CSS logical properties?

Властивості, що враховують напрямок письма (LTR/RTL).

margin-inline-start: 20px; /* замість margin-left */
padding-block-end: 10px;  /* замість padding-bottom */
90. Як працює prefers-color-scheme?

Медіа-запит для темної/світлої теми.

@media (prefers-color-scheme: dark) {
  body { background: #111; color: #eee; }
}
91. Що таке prefers-reduced-motion?

Медіа-запит для користувачів, які відключають анімації.

@media (prefers-reduced-motion: reduce) {
  * { animation: none; transition: none; }
}
92. Як працюють media queries?

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

@media (max-width: 768px) {
  body { font-size: 14px; }
}
93. Що таке mobile-first підхід у responsive design?

Спочатку пишуться стилі для мобільних пристроїв, а потім додаються стилі для більших екранів через min-width.

94. Як працює viewport meta tag?

Налаштовує відображення сторінки на мобільних.

<meta name="viewport" content="width=device-width, initial-scale=1">
95. Як працюють relative units (em, rem, vw, vh)?
  • em — відносно розміру шрифту батька
  • rem — відносно кореневого шрифту
  • vw — 1% ширини вікна
  • vh — 1% висоти вікна
96. Як оптимізувати CSS для продуктивності?
  • Мінімізувати файли (minify)
  • Видаляти невикористані стилі (purgecss)
  • Об’єднувати селектори
  • Зменшувати вкладеність
  • Використовувати сучасні властивості замість хаків
97. Що таке critical CSS?

Це стилі, потрібні для першого екрану. Їх вставляють прямо в <head>, решта підвантажується асинхронно.

98. Що таке lazy loading фону?

Техніка, коли великі зображення фону завантажуються тільки при потребі.

.bg {
  background: none;
}
.bg[data-loaded="true"] {
  background-image: url("large.jpg");
}
99. Як використовувати CSS variables з JavaScript?
document.documentElement
  .style.setProperty("--main-color", "tomato");
100. Що таке container queries?

Адаптивність не тільки по вікну браузера, а по контейнеру.

@container (min-width: 500px) {
  .card { display: flex; }
}