Каскадные таблицы стилей
CSS советы & приемы

(Эта страничка использует каскадные таблицы стилей CSS)

Данный документ является переводом статьи "Web Style Sheets CSS tips & tricks".
Оригинальная версия документа существует только на сайте W3C https://www.w3.org/Style/Examples/007/evenodd.html
Данный перевод НЕ является официальным документом W3C.
Все Авторские Права Принадлежат W3C.
Данный документ может содержать ошибки перевода и опечатки.
Автор перевода: Евгений Скрипец - мастер проекта Speed Lab. Все переводы автора: en, ru, uk
Локальная версия: https://www.indeep76.com/Style/Example007/evenodd.html

Состояние

Предупреждение: во время написания (февраль 2003) основные браузеры не поддерживали 'nth-child' свойство (представленное в ноябре 2001) и только некоторые поддерживали COL элемент.

Even and odd rules

Один способ улучшить читабельность больших таблиц - это раскрасить альтернативные ряды. Например, таблица ниже имеет светло-серый фон для четных рядов и белый для нечетных. Правила для этого предельно просты:

tr:nth-child(even) {background: #CCC}
tr:nth-child(odd) {background: #FFF}
Month199419951996199719981999200020012002
Jan141314131411111111
Feb131512151512141313
Mar161514171615141515
Apr171617171715151616
May212020212220212019
Jun242325242523252324
Jul292826262726252625
Aug292827282827262826
Sep242323262424242221
Oct2022202220192022
Nov1817161716151415
Dec1513131413101311

Фактически CSS позволяет не только разрешить четные/нечетные альтернативы, но и произвольные интервалы. Ключевые слова 'even' (четный) и 'odd' (нечетный) являются просто удобными условными обозначениями. Например, для длинного списка рекомендуется сделать следующее:

li:nth-child(5n+3) {font-weight: bold}

Это говорит о том, что каждый 5й список пустой, начиная с 3го. Другим словами, пункты под номерами 3, 8, 13, 18, 23 и т.д. будут пустыми.

Четные и нечетные колонки

То же самое действует для колонок таблицы, но для этого нужен элемент в документе, который соответствует колонке. Для этого HTML обеспечивает COL. Таблица должна начинаться с одного COL для каждой колонки:

<table>
<col><col><col><col><col><col><col><col><col><col>
<tr><th>Month<th>1994<th>1995<th>1996...

(COL может использоваться для других вещей, кроме стилей, но в этом случае все что нам нужно, чтобы присутствовали COL элементы.) Следующие правила дают первой колонке желтый фон, а затем каждой другой колонке, начиная с третьей, серый:

col:first-child {background: #FF0}
col:nth-child(2n+3) {background: #CCC}
Month199419951996199719981999200020012002
Jan141314131411111111
Feb131512151512141313
Mar161514171615141515
Apr171617171715151616
May212020212220212019
Jun242325242523252324
Jul292826262726252625
Aug292827282827262826
Sep242323262424242221
Oct2022202220192022
Nov1817161716151415
Dec1513131413101311

Фон рядов (TR) прописан до фона колонок (COL), так что если вы хотите убедиться, что фон колонок видимый, не устанавливайте фон на ряды.

CSS Valid CSS!Valid HTML 4.0!

Bert Bos
документ создан 6 февраля 2003;
последнее изменение $Date: 2007/07/20 16:15:58 $ GMT