Комбинированные селекторы

Тренажер по CSS для пользователей с начальным уровнем подготовки.

Тренажер CSS

На этом уроке вы научитесь использовать комбинированные селекторы в CSS для стилизации HTML-элементов. Комбинированные селекторы позволяют выбирать элементы на основе их отношений друг с другом, что делает стилизацию более точной и эффективной. Вы разберётесь, как использовать такие селекторы, как потомки, дочерние элементы, соседние элементы и элементы с общими родителями. В этом уроке вы будете практиковаться в заполнении пропущенных частей кода, чтобы закрепить свои знания и навыки работы с комбинированными селекторами.

Список тем

Стилизация дочерних элементов

Стилизация всех абзацев, которые являются непосредственными дочерними элементами внутри div с классом container. Убедитесь, что только прямые дочерние элементы получают стили.

CSS
.container input1 p { color: red; }
HTML
<div class="container"><p>Это текст</p><div><p>Это не должен быть красным</p></div></div>
Чтобы выбрать только непосредственных потомков, используйте селектор дочерних элементов '>'. Например, 'div > p' выберет только те абзацы, которые являются прямыми дочерними элементами div.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Отметить решенным
Показать подсказку

Соседние элементы

Стилизация первого абзаца, который идёт сразу после h2 заголовка. Используйте правильный селектор, чтобы применить стили только к этому элементу.

CSS
h2 input1 { margin-top: 0; }
HTML
<h2>Заголовок</h2><p>Этот текст должен быть без отступа сверху</p><p>Этот текст не должен быть изменён</p>
Для выбора соседнего элемента используйте селектор '+' (сосед). Например, 'h2 + p' выберет первый абзац, который идёт непосредственно после h2.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Отметить решенным
Показать подсказку

Общие предки

Примените стили к элементам span, которые находятся внутри div с классом wrapper, но только если они следуют за другим span элементом.

CSS
.wrapper span input1 { font-weight: bold; }
HTML
<div class="wrapper"><span>Первый текст</span><span>Второй текст</span></div>
Используйте селектор общего предка. Например, '.wrapper span + span' выберет каждый span элемент, который находится в div с классом wrapper и следует за другим span.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Отметить решенным
Показать подсказку

Стилизация элементов потомков

Стилизация всех элементов span, которые являются потомками div с классом content. Убедитесь, что все вложенные элементы span получают стили.

CSS
.content input1 { color: blue; }
HTML
<div class="content"><span>Текст внутри</span><div><span>Ещё текст внутри</span></div></div>
Для выбора всех потомков используйте вложенный селектор. Например, '.content span' выберет все span элементы, которые находятся внутри div с классом content, независимо от их уровня вложенности.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Отметить решенным
Показать подсказку

Комбинатор общего родителя

Стилизация всех li элементов, которые являются потомками ul с классом list, но только если они непосредственно следуют за элементами li с классом special.

CSS
.list .special input1 { background-color: yellow; }
HTML
<ul class="list"><li class="special">Особенный элемент</li><li>Этот элемент должен быть выделен</li><li>Этот не должен</li></ul>
Используйте селектор общего родителя и соседний селектор. Например, '.list .special + li' выберет li элементы, которые непосредственно следуют за li с классом special.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Отметить решенным
Показать подсказку

Стилизация по атрибутам

Примените стили ко всем изображениям, которые находятся внутри div с классом gallery и имеют атрибут alt.

CSS
.gallery imginput1 { border: 2px solid black; }
HTML
<div class="gallery"><img src="https://naytikurs.ru/img/1.png" alt="Картинка 1"><img src="https://naytikurs.ru/img/2.png"></div>
Выберите элементы по атрибуту, используя селектор атрибута. Например, '.gallery img[alt]' выберет все img элементы с атрибутом alt внутри div с классом gallery.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Отметить решенным
Показать подсказку
НайтиКурс.Ру