Подскажите пожалуйста, как правильно выполнить задание, при вводе li: first-child
{background-color:red;
} ничего не происходит.
Видимо дело в пробеле между двоеточием и first-child, нужно псиать без пробела слитно.
Правильно так: selector:first-child
, selector:last-child
.
Спасибо
Здравствуйте! Вразумите пожалуйста)
В курсе “Псевдоклассы”, для того чтобы выделить первый дочерний элемент класса target в CSS-редакторе пишем:
.target :first-child {background-color: red;}
или
ul :first-child {background-color: red;} так тоже работает
но в задании :nth-child и контекстные селекторы, когда я пытаюсь провернуть тот-же фокус с тегом div это не работает. Пишу:
div :first-child li:nth-child(3n+2) {background-color:red;}
и окрашиваются цели и первого и второго стрелка т.е. первый селектор div :first-child не работает
а работает только так:
div:first-child li:nth-child(3n+2) {background-color:red;} т.е. без пробела после имени тега div
И вот собственно вопрос:
Почему после тега ul нужно ставить пробел перед двоеточием для указания первого элемента внутри этого тега, а для тега div нет?
Спасибо!
Дело в том, что у вас во втором задании уже не один блок с мишенями, а два.
<body>
<div class="shooter-1">
<ul class="target">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
<div class="shooter-2">
<ul class="target">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
</body>
Посмотрим на фрагмент кода.
Когда вы пишете div:first-child - выбирается блок, являющийся первым дочерним элементом родителя (в данном случае body).
А когда вы пишете с пробелом div :first-child - выбирается первый вложенный в div элемент. Но поскольку вы не указываете конкретно, мишени какого стрелка закрываете, то выбираются оба.
В задании не зря в HTML-коде для каждого div-а указан свой класс.
Спасибо! Теперь понял!