Я не могу понять, почему происходит следующее. (. Я могу - и решить эту проблему в несвязанной образом)Проблема специфичности CSS со столами
РЕЗЮМЕ:
- У меня есть таблица, в которой ряды чередуются стили. Хорошо.
- Я хотел добавить цвет для отображения «in progress» и «completed».
- ПРОБЛЕМА: CSS для чередующихся цветов строк продолжает превзойти мой код для «в процессе» и «завершен».
более углубленные:
HTML-код таблицы:
<table class="tbl-invoice">
<tr class="completed">
<td>9/21/2014</td>
<td>PAID</td>
<td class="rep">Bill Bayer</td>
</tr>
Все стили в одном файле.
CSS-за чередующихся цветов:
.tbl-invoice tr:nth-child(odd) td { background-color:#F0F8FF; }
Его специфичность 0 0 2 2.
CSS-код для "завершен":
.completed { background-color:#e5ffe5; }
выше стиль аннулируют его. Нет проблем. Так что я написал:
.tbl-invoice tr td .completed { background-color:#e5ffe5; }
, который также имеет специфичность 0 0 2 2, но помещается ниже предыдущего примера, так это CSS должен превзойти другого.
Мало того, что это не козырь, но это не козырь его даже тогда, когда я добавил body
:
body .tbl-invoice tr td .completed { background-color:#e5ffe5; }
Не забывайте о элементе 'tbody', который браузеры включают в себя, когда вы, как кодер, забываете включать его явно. – TylerH
@TylerH - thx. Обязательно помните об этом. – Mayo