Я написал то, что я считал очень элегантным css и таблицей, которая выполняет форматирование зебры с очень небольшой пропускной способностью и без javascript, но это не работает в IE9.
Как это должно выглядеть:
Как это выглядит в IE9:
Исходный код:
<!DOCTYPE html>
<html>
<head>
<title>SQLFlight HD Status</title>
<style type="text/css">
table {
border-collapse:collapse;
border-spacing:0;
}
th {
background:black;
color:white;
}
tr:nth-child(odd), col:nth-child(odd) {
background:rgba(200,200,200,0.5);
}
tr:nth-child(even) {
background:rgba(255,255,255,0.5);
}
td,th {
padding: 4px 10px;
}
</style>
</head>
<body>
<table>
<col/><col/><col/><col/><col/><col/>
<thead>
<tr>
<th>Drive</th><th>Label</th><th>Size</th><th>Used</th><th colspan="2">Free</th>
</tr>
</thead>
<tbody>
<tr>
<td>C:</td><td>OS</td><td>136 GB</td><td align="right">74 GB</td>
<td align="right">62 GB</td><td align="right">46 %</td>
</tr>
<tr>
<td>E:</td>
<td>Data2</td>
<td>394 GB</td>
<td align="right">280 GB</td>
<td align="right">114 GB</td>
<td align="right">29 %</td>
</tr>
<tr>
<td>F:</td><td>Data3</td><td>164 GB</td><td align="right">100 GB</td><td align="right">64 GB</td><td align="right">39 %</td>
</tr>
</tbody>
</table>
</body>
</html>
Мне нравятся элегантные решения с низкой пропускной способностью без тонны запутанной разметки. Я предполагаю, что проблема заключается в этом фрагменте:
tr:nth-child(odd), col:nth-child(odd) {
background:rgba(200,200,200,0.5);
}
Я предполагаю, что все браузеры, которые я тестировал, кроме IE9, сочетают стили tr и col, но IE9 допускает только стили tr или col, но не оба стиля одновременно. Итак, есть ли способ закодировать мой белый, светло-серый и светло-серый с помощью всего трех строк CSS, как я сделал здесь, который также работает в IE9? Имейте в виду, что я также не хочу добавлять кучу тегов классов или тегов стилей в свой HTML. Прав ли я, что это просто сочетание стилей фона tr и col, которое не работает в IE9? или что-то еще не работает в IE9? Любая обратная связь, объяснение того, что происходит, а также любые простые решения будут высоко оценены.
Спасибо.