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

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

Тренажер CSS

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

Список тем

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

id: 37299_task1

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

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

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

id: 37299_task2

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

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

Общие предки

id: 37299_task3

Примените стили к элементам 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.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Показать подсказку

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

id: 37299_task4

Стилизация всех элементов 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, независимо от их уровня вложенности.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Показать подсказку

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

id: 37299_task5

Стилизация всех 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.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Показать подсказку

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

id: 37299_task6

Примените стили ко всем изображениям, которые находятся внутри 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.
Заполнить ответами все поля
Результат
Сообщения
Выполнить
Показать подсказку
НайтиКурс.Ру