У меня есть таблица CSS, подобная этой:
(это надежное упрощение моей системы)
<div class="table">
<div class="row">
<div class="data">
abc
</div>
</div>
<div class="row">
<div class="data">
def
</div>
</div>
<div class="row">
<div class="data">
ghi
</div>
</div>
<div class="row">
<div class="data">
jkl
</div>
</div>
</div>
И у меня есть такой CSS-код:
div.table div.row:not(.hide):nth-child(2n){
background-color: #D7D4DA;
}
div.table div.row:not(.hide):nth-child(2n+1){
background-color: #E4E8EB;
}
.hide{
display:none;
}
Цель: когда строка скрыта (с использованием класса hide), стилизация таблицы должна оставаться прежней (каждая строка различного цвета между двумя доступными).Вместо этого он сломан.
Согласно файербогу Firefox, :nth-child
применяется до :not
, а не после (как я хотел).Как это можно решить?
Примечание. Изменять HTML не стоит.Это что-то динамически созданное с использованием javascript.
Моя цель - не подсчитывать для n-го дочернего элемента строки, которые скрыты для поддержания стиля, даже если линия не видна