У меня есть следующий код:
<ul class="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
Я выделил этот список серыми полосами:
.list li:nth-child(2n) {
background-color: #ccc;
}
Отлично работает, но потом я скрываю некоторые из li
элементов, и порядок полос нарушается. Скрипка
Я попытался обновить селектор с помощью :not()
:
.list li:not(.hidden):nth-child(2n) {
background-color: #ccc;
}
Но это было бесполезно.
Может ли кто-нибудь посоветовать, как заказать псевдоклассы, чтобы сохранить порядок полос?
:nth-child()
не учитывает другие селекторы. Порядок детей не меняется при добавлении классов и т.д. - person BoltClock   schedule 11.06.2014:nth-child(... of selector)
вместо:nth-match(... of selector)
. Однако на практике это ничего не меняет, насколько я знаю, поскольку ни один браузер не поддерживает ни один синтаксис. - person Ilya Streltsyn   schedule 11.06.2014