#html #css
Вопрос:
Я хотел бы установить специальный css для «Это пункт 1», а все остальные заголовки-еще один. Как это сделать ?
<div class="example2">
<div class="special">
<div class="goal">
This is paragraph 1
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 2
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 3
</div>
</div>
</div>
Я пытался это сделать, но ничего не вышло. Как достичь первого класса «.goal» в css ?
div.example2 p.special p.goal { color: green; }
div.example2 p.special p.goal ~ p.goal { color: #333; }
Комментарии:
1. Обязательно используйте элементы абзаца для абзацев. 🙂
Ответ №1:
Сначала напишите стиль для всех div, а затем переопределите его с помощью :first-child
селектора.
.example2 > .special { color: #333; }
.example2 > .special:first-child { color: green; }
<div class="example2">
<div class="special">
<div class="goal">
This is paragraph 1
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 2
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 3
</div>
</div>
</div>
Ответ №2:
Если вы хотите оформить только первый элемент, оформите их все и переопределите первый:
.goal {
color: orange;
}
.special:first-child .goal {
color: green;
}
<div class="example2">
<div class="special">
<div class="goal">
This is paragraph 1
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 2
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 3
</div>
</div>
</div>
Или вы могли бы пойти другим путем…
.goal {
color: green;
}
.special:not(:first-child) .goal {
color: orange;
}
<div class="example2">
<div class="special">
<div class="goal">
This is paragraph 1
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 2
</div>
</div>
<div class="special">
<div class="goal">
This is paragraph 3
</div>
</div>
</div>