Урок 11. Примеры: Селекторы CSS

📁 Раздел: Основы CSS ⏱️ Время изучения: ~40 мин 🎯 Сложность: Начальная
#p #h1 #a #li #button #input

⚡ Кратко

В каждом примере жёлтым подсвечены элементы, которые «поймал» селектор из кода справа. Сравните подсветку с кодом — и вы увидите селектор в действии.

Рабочие примеры

В превью жёлтым выделены элементы, которые выбирает селектор (подсветка имитирует действие правила). Серым — те, что селектор пропускает.

1. Селектор по классу .card

Класс можно дать многим элементам. Селектор .card ловит все три блока с этим классом, а блок без класса — нет.

div class="card" — выбран ✓
div class="card" — выбран ✓
div без класса — пропущен
<div class="card">…</div>
<div class="card">…</div>
<div>…</div>
.card {
  background: #fef08a;
  border: 2px solid #ca8a04;
}

2. Селектор по id #promo

Id уникален: правило применяется к единственному элементу с этим id, даже если рядом есть похожие блоки.

обычный баннер — пропущен
id="promo" — выбран ✓
<div>…</div>
<div id="promo">…</div>
#promo {
  background: #fef08a;
  border: 2px solid #ca8a04;
}

3. Потомки .card p vs дочерние .card > p

Пробел выбирает p на любой глубине. Знак > — только прямых детей. Слева подсвечены оба p, справа — только верхний.

.card

прямой p — выбран ✓

вложенный div

.card p — выбран ✓  |  .card > p — пропущен

/* любой p внутри .card, на любой глубине */
.card p { background: #fef08a; }

/* только p — прямой ребёнок .card */
.card > p { background: #fef08a; }

4. Псевдокласс :hover

:hover выбирает элемент, пока на нём указатель мыши. Наведите на кнопку ниже — она сменит цвет (это и есть селектор по состоянию).

Наведи на меня

Жёлтый = состояние :hover активно

.btn {
  background: #0f766e;
  color: #fff;
}

.btn:hover {
  background: #fef08a;
  color: #854d0e;
}

5. По позиции li:nth-child(odd)

:nth-child выбирает элементы по номеру. odd — нечётные (1, 3, 5…). Подсвечены 1-я, 3-я и 5-я строки — «зебра» для таблиц и списков.

  • Строка 1 — выбрана ✓
  • Строка 2 — пропущена
  • Строка 3 — выбрана ✓
  • Строка 4 — пропущена
  • Строка 5 — выбрана ✓
li:nth-child(odd) {
  background: #fef08a;
}
Эксперимент: откройте любой пример в DevTools (F12) и в панели стилей измените селектор — браузер сразу перекрасит другие элементы. Так нагляднее всего видно, кого «ловит» правило.