Урок 77 із 239
32%
← Назад

Родинний селектор у CSS

Розберемо родинний селектор ~, який дозволяє вибирати всі елементи, що знаходяться після певного елемента всередині одного батьківського елемента.

Що таке родинний селектор ~

Родинний селектор ~ вибирає всі елементи, які знаходяться після вказаного елемента та мають спільного батька.

На відміну від сусіднього селектора +, який вибирає тільки один наступний елемент, селектор ~ вибирає всі наступні елементи.

Приклад №1. Вибір усіх p після h2

<div>
  <h2>
    text
  </h2>

  <p>
    +++
  </p>

  <p>
    +++
  </p>

  <p>
    +++
  </p>
</div>

<p>
  -
</p>
h2 ~ p {
  color: red;
}
💡 Показати підказку

Символ ~ читається як: вибрати всі наступні елементи такого типу.

Приклад №2. Родинний селектор з класом

<div>
  <p class="test">
    text
  </p>

  <p>
    +++
  </p>

  <p>
    +++
  </p>
</div>

<p>
  ---
</p>
.test ~ p {
  color: red;
}

Приклад №3. Вибір елементів з класом

<div>
  <p class="test">
    text
  </p>

  <p class="elem">
    +++
  </p>

  <p>
    ---
  </p>

  <p class="elem">
    +++
  </p>
</div>

<p>
  ---
</p>
.test ~ .elem {
  color: red;
}
❗ Важливо:

Селектор ~ працює тільки між елементами з одним спільним батьком. Елементи в інших блоках не вибираються.

Різниця між + та ~

СелекторЩо вибирає
+Тільки один безпосередній наступний елемент
~Всі наступні елементи після заданого

Практичні завдання

📌 Завдання:
  1. №1
  2. Дано код:
  3. <ul>
  4. <li>1</li>
  5. <li>2</li>
  6. <li>3</li>
  7. <li id="elem">5</li>
  8. <li>6</li>
  9. <li>7</li>
  10. </ul>
  11. Напишіть селектор, який вибере всі елементи, що знаходяться після #elem.
💡 Показати підказку

Для вибору всіх елементів після id використовуйте конструкцію: #id ~ тег.

✅ Показати відповідь
Відповідь: #elem ~ li