Таблица-зебра — это такая таблица, в которой после каждой строчки изменяется цвет фона строки. То есть, к примеру, белый-черный-белый-черный… Это то и сделаем, используя лишь CSS.
<tr>. Такой способ подойдет для небольших таблиц. А что, если строчек в таблице много? То тогда без автоматизирования будет долго. А что бы не пользоваться JS, можно использовать псевдокласс CSS3 :nth-child.
Данный псевдокласс было создан для добавления свойств тегу, идущему под определенным номером. Можно задать, что бы свойства задавались лишь четным или нечетным тегам. В основном данный псевдокласс можно применить именно то что в таблицах. Правила написания:nth-child:
селектор:nth-child(значение) {
...
}
Значениями могут быть:
odd — нечетные числа (1, 3, 5, 7 …).
even — четные числа (2, 4, 5, 6 …).
число — любое число от одного.
Но у данного метода есть минус: он не поддерживается в старых браузерах.
| N | Страна | Население (тыс. человек) |
|---|---|---|
| 1 | Китай | 1 338 613,0 |
| 2 | Индия | 1 166 079,2 |
| 3 | США | 307 212.1 |
| 4 | Индонезия | 240 271.5 |
| 5 | Бразилия | 198 739.3 |
И, что бы создать стиль «зебры» в таблице, нужно сделать следующие:
HTML
<table cellspacing="0"> <tr><th>N</th><th>Страна</th><th>Население (тыс. человек)</th></tr> <tr><td>1</td><td>Китай</td><td>1 338 613,0</td></tr> <tr><td>2</td><td>Индия</td><td>1 166 079,2</td></tr> <tr><td>3</td><td>США</td><td>307 212.1</td></tr> <tr><td>4</td><td>Индонезия</td><td>240 271.5</td></tr> <tr><td>5</td><td>Бразилия</td><td>198 739.3</td></tr> </table>
Атрибут cellspacing определяет, сколько нужно отступить между ячейками. 0 — отменяет отступы.
CSS
table tr:nth-child(odd) {
background-color:#EDEDED; /* Цвет фона */
}
Этим мы задали, что если тег <tr> будет по счету нечетный, то ему будет задан цвет фона #EDEDED. Так же можно поступить и с четными.
Оформим нашу таблицу дальше:
table, tr, td, th {
color:#969799; /* Цвет текста */
font:13pt Andale Mono, monospace; /* Размер, тип шрфита */
border:1px solid #E9E9E9; /* Обводка */
border-collapse:collapse; /* Убираем двойную обводку между ячейками */
}
td, th {
padding:5px; /* Внутренний отступ */
}
th {
font-weight:bold;
background-color:#E5E5E5; /* Цвет фона */
}

