Модуль 3 · Урок 9

CSS rules, selectors і DevTools evidence

CSS не «фарбує HTML магічно»: browser завантажує stylesheet, парсить rules, зіставляє selectors із elements і обчислює values. Надійний debug починається з evidence — network status, matched rules і Computed panel.

StylesheetSelectorsDeclarationsComputed

Від link до applied declaration

<link rel="stylesheet" href="styles.css">

.card {
  padding: 1.25rem;
  border: 1px solid #cbd7e8;
}
  1. Network підтверджує HTTP 200 і CSS content type.
  2. Parser відкидає invalid declarations, але продовжує обробляти rule.
  3. Selector .card має match elements.
  4. Cascade обирає declaration для кожної property.
  5. Computed показує використане значення після defaulting та inheritance.

Selector має описувати стабільний purpose

SelectorPurposeРизик
articleУсі elements цього typeЗанадто широкий для component variant
.cardReusable component hookНечітка назва без design intent
[aria-current="page"]Семантичний stateНе дублюйте conflict class без потреби
.nav aDescendant у navigation contextDOM coupling при надмірній глибині
:focus-visibleKeyboard focus stateНе прибирайте outline без replacement

Evidence-driven debug loop

1 · ReproduceExact URL, viewport, theme і interaction.
2 · InspectStyles: matched, crossed-out, invalid, source location.
3 · ComputeComputed value і Box Model, не лише authored text.
4 · ExplainUnmatched selector, cascade loss, inherited/default value або invalid declaration.
5 · Fix sourceМінімальна зміна в stylesheet.
6 · ReloadNetwork/source і observed effect підтверджені повторно.

Практика

  1. Запустіть starter page через local HTTP server.
  2. Заповніть selector-inventory.csv із match count та purpose.
  3. Знайдіть одну invalid, одну unmatched і одну overridden declaration.
  4. Запишіть source location і Computed evidence до checklist.

Офіційні джерела

Практична перевірка · урок 9 з 60

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Що перевірити першим, якщо весь external CSS не застосувався?
2. З чого складається CSS rule?
3. Що стається з invalid declaration у valid rule?