Как стиль для первого ребенка?
Например, у меня есть HTML:
<div class='page'>
<span>2</span>
<span>2</span>
<a>1</a>
<a>6</a>
</div>
Как я могу создать стиль для первого дочернего элемента
Я использовал вот так: .page a:first-child {color:red}
но он не запускается.
Ответы
Ответ 1
Используйте first-of-type
вместо first-child
.page a:first-of-type{
color:red;
}
Псевдокласс класса first-of-type представляет первый родной тип своего типа в списке дочерних элементов его родительского элемента.
Взято из Документация MDN. Вы можете найти более подробную информацию и примеры здесь.
Объяснение: : первый ребенок не работает как ожидалось
Ответ 2
Как сказал Пранав c, вы можете использовать
.page a:first-of-type { ... }
или .page a:nth-of-type(1) { ... }
, но ни один из них не будет работать в IE8
Итак, если мы можем предположить, что <span>
всегда будет там, то
.page span+a { ... }
будет гарантировать, что будет только первый а после пролета, и это так же хорошо, как вы можете получить кросс-браузер прямо сейчас.
Пример: FIDDLE