www html, html уроки, html теги, css, верстка
Уроки книги по css и html урокам вопросы и ответы Помощь сайту
Главная страница > Уроки > Оформление таблиц > Колонки таблицы

Колонки таблицы

контентовая версия  

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

Поскольку формирование таблицы происходит по строкам, а не по колонкам, то для изменения вида колонок приходится задавать стиль практически для каждой ячейки. В этом случае удобно использовать разные классы — один для ячеек четных колонок, а второй — для нечетных. На рис. 1 показана таблица, которая формируется именно таким способом.

Рис. 1. Таблица с выделенными колонками

Рис. 1. Таблица с выделенными колонками

Цвет нечетных колонок можно задать путем добавления стилевых параметров к селектору TABLE, а для четных колонок введем новый класс, назовем его even. Первая колонка обычно используется для заголовков строк, поэтому для нее имеет смысл задать стиль, отличный от стиля остальных ячеек. В данном случае вводим еще один класс, назовем его lc и для него определим выравнивание по левоой стороне и цвет контента (пример 1). Остается для ячеек первой колонки добавляем к тегу <TD> параметр class="lc", а для ячеек четных колонок class="even".

Пример 1. Колонки разного цвета

Валидный HTML
Валидный CSS
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/HTML4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Таблица</title>
<style type="text/CSS (ЦСС)">
TABLE {
 width: 300px; /* Ширина таблицы */
 border: 2px solid black; /* Рамка вокруг таблицы */
 background: #778899; /* Цвет фона */
 color: white; /* Цвет контента */
}

TD, TH {
 text-align: center; /* Выравнивание по центру */
 padding: 3px; /* Поля вокруг контента */
}

TH {
 color: white; /* Цвет контента */
 border-bottom: 4px double black; /* Двойная линия снизу */
}

.even { /* Стиль для четных колонок */
 background: #ffe4b5; /* Цвет фона */
 color: black; /* Цвет контента */
}

.lc { /* Стиль для первой колонки */
 text-align: left; /* Выравнивание по левоой стороне */
 color: #fffacd; /* Цвет контента */
}
</style>
</head>
<body>

<table cellspacing="0">
 <tr>
  <th>&nbsp;</th>
  <th class="even">2004</th>
  <th>2009</th>
  <th class="even">2009</th>
 </tr>
 <tr>
  <td class="lc">Рубины</td>
  <td class="even">43</td>
  <td>51</td>
  <td class="even">79</td>
 </tr>
 <tr>
  <td class="lc">Изумруды</td>
  <td class="even">28</td>
  <td>34</td>
  <td class="even">48</td>
 </tr>
 <tr>
  <td class="lc">Сапфиры</td>
  <td class="even">29</td>
  <td>57</td>
  <td class="even">36</td>
 </tr>
</table>

</body>
</html>

Чтобы отделить первую строку с заголовком от данных таблицы в примере используется двойная линия. Она получается за счет добавления параметра border-bottom к селектору TH.

просмотрим еще один способ формирования вида колонок — не только за счет разного цвета фона, но и применением линий между колонками (рис. 2).

Рис. 2. Выделение колонок с помощью линий и цвета

Рис. 2. Выделение колонок с помощью линий и цвета

Структура тегов останется практически той же, что была показана в примере 1. А именно, для ячеек четных колонок используем класс even, а для первой колонки — класс lc. Чтобы установить линию между колонками, к селектору TD добавляем параметр border-left, он создает линию слева от ячейки. Однако при этом возникнет ненужная линия слева в первой колонке, поэтому для класса lc используем border: none, этот атрибут уберет лишние границы (пример 2).

Пример 2. Линии между колонками

Валидный HTML
Валидный CSS
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/HTML4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Таблица</title>
<style type="text/CSS (ЦСС)">
TABLE {
 width: 300px; /* Ширина таблицы */
 border: 1px solid black; /* Рамка вокруг таблицы */
}

TD, TH {
 text-align: center; /* Выравнивание по центру */
 padding: 3px; /* Поля вокруг контента */
}

TH {
 color: white; /* Цвет контента */
 background: #daa520; /* Цвет фона */
}

TD {
 border-left: 1px dashed black; /* Линия слева от ячейки */
}

.even { /* Стиль для четных колонок */
 background: #dcdcdc; /* Цвет фона */
}

.lc { /* Стиль для первой колонки */
 text-align: left; /* Выравнивание по левоой стороне */
 border: none; /* Нет лишних линий */
}
</style>
</head>
<body>

<table cellspacing="0">
 <tr>
  <th>&nbsp;</th>
  <th>2004</th>
  <th>2009</th>
  <th>2009</th>
 </tr>
 <tr>
  <td class="lc">Рубины</td>
  <td class="even">43</td>
  <td>51</td>
  <td class="even">79</td>
 </tr>
 <tr>
  <td class="lc">Изумруды</td>
  <td class="even">28</td>
  <td>34</td>
  <td class="even">48</td>
 </tr>
 <tr>
  <td class="lc">Сапфиры</td>
  <td class="even">29</td>
  <td>57</td>
  <td class="even">36</td>
 </tr>
</table>

</body>
</html>

К сожалению, работа с колонками таблицы не так удобна, как хотелось бы. Если применять стили, то фактически все ячейки таблицы пестрят указаниями на определенный стилевой класс. За счет этого снижается удобство по расширению табличных данных и повышается объем тегов. Существуют специальные теги <COL> и <COLGROUP> призванные облегчить работу с колонками таблицы. Но их возможности ограничены, да и нужный результат будет отображаться не во всех браузерах. Так что на данном этапе для разработки таблиц желаемого вида приходится обращаться к стилям.

Статья опубликована: 15.10.2009 Последнее обновление: 20.04.2009
Поиск по сайту
Оформление таблиц
Разделы
Теги по теме

TABLE
Элемент TABLE служит контейнером для элементов, определяющих содержимое таблицы. Любая таблица состоит из строк и ячеек, которые задаются с помощью тегов TR и TD.

TD
Предназначен для разработки одной ячейки таблицы. Тег TD должен размещаться внутри контейнера TR, который в свою очередь располагается внутри тега TABLE.

TH
Тег TH предназначен для разработки одной ячейки таблицы, которая обозначается как заголовочная. контент в такой ячейке отображается браузером обычно жирным шрифтом и выравнивается по центру.

CSS (ЦСС) по теме

background
Параметр позволяет установить одновременно до пяти атрибутов стиля фона. Значения могут идти в любом порядке, браузер сам определит, какое из них соответствует нужному атрибуту.

border
Параметр позволяет одновременно установить толщину, стиль и цвет рамки вокруг элемента. Значения могут идти в любом порядке, разделяясь пробелом, браузер сам определит, какое из них соответствует нужному атрибуту.

border-left
Параметр позволяет одновременно установить толщину, стиль и цвет левой границы элемента. Значения могут идти в любом порядке, разделяясь пробелом, браузер сам определит, какое из них соответствует нужному атрибуту.

color
Определяет цвет контента элемента.

text-align
Определяет горизонтальное выравнивание контента в пределах элемента.

width
Устанавливает ширину блочных или заменяемых элементов. Ширина не включает толщину границ вокруг элемента, значение отступов и полей.

Copyright © 2009-2022 | По всем вопросам: donmobi@mail.ru

О нашем Internet проекте | Наши планы | Контент нашего сайта | Есть ошибки... | Технологии | Поддержать проект