У меня есть таблица с повторяющимся фоновым изображением в заголовке:
thead tr
{
border-collapse:collapse;
background: #D3D2D2 url(images/background-table-header.gif) repeat-x top;
}
И это работает как в Firefox, так и в Internet Explorer, но если мы хотим, чтобы определенные заголовки столбцов показывали направление сортировки, мы украшаем th с помощью класса Sorted и Direction. И используйте css для добавления значка направления.
thead th.Sorted
{
background-repeat: no-repeat;
background-position: center left;
padding-left: 0.6em;
}
thead th.Sorted.Ascending
{
background-image: url(images/background-table-sorted-column-ascending.gif);
}
thead th.Sorted.Descending
{
background-image: url(images/background-table-sorted-column-descending.gif);
}
Проблема заключается в том, что в Internet Explorer 6 и 7 фоновый цвет из tr наследуется (обнаруживается с помощью панели инструментов Internet Explorer Developer) к th. Это означает, что th закрашивает #D3D2D2
цвет поверх фона tr. Firefox, Chrome и IE8 не имеют этой проблемы, поэтому я подозреваю, что это ошибка IE6 / 7. Я думал об использовании background-color:transparant
на thead th.Sorted
, но IE6 / 7 просто рисует фон тела (похоже, он прорезает дыру в других слоях между телом и th).
Вот как это должно выглядеть:
А вот как это выглядит в IE6 и IE7:
Ниже приведен фрагмент кода HTML, который я создал для этого вопроса.
<table cellspacing='0'>
<thead>
<tr>
<th>First column</th>
<th>Second column</th>
<th class="Sorted Ascending">Third column</th>
<th>Fourth column</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
</tbody>
</table>
Как я мог решить это?