Родственный селектор в CSS

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

Пример

Давайте обратимся ко всем тегам p, находящимся после тегов h2, и покрасим их в красный цвет:

html<div>
  <h2>text</h2>
  <p>
    +++
  </p>
  <p>
    +++
  </p>
  <p>
    +++
  </p>
</div>
<p>
  -
</p>
cssh2 ~ p {
  color: red;
}

Результат:

Пример

Давайте обратимся ко всем тегам p, находящимся после элементов с классом .test, и покрасим их в красный цвет:

html<div>
  <p class="test">
    text
  </p>
  <p>
    +++
  </p>
  <p>
    +++
  </p>
</div>
<p>
  ---
</p>
css.test ~ p {
  color: red;
}

Результат:

Пример

Давайте обратимся ко всем элементам с классом .elem, находящимся после элементов с классом .test, и покрасим их в красный цвет:

html<div>
  <p class="test">
    text
  </p>
  <p class="elem">
    +++
  </p>
  <p>
    ---
  </p>
  <p class="elem">
    +++
  </p>
</div>
<p>
  ---
</p>
css.test ~ .elem {
  color: red;
}

Результат:

Практические задачи

Задание 1

Дан код:

html<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li id="elem">5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
</ul>

Напишите селектор, который выберет все элементы, находящийся сразу после элемента #elem.