Опубликован: 01.09.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Сибирский федеральный университет
Лекция 7:

Таблицы

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >

Группы столбцов. Объединение столбцов и строк

Элементы colgroup и col

Предназначены для того, чтобы назначать свойства столбцам или группам столбцов. Вообще, таблица задаётся набором строк, но работа со столбцами часто бывает необходима - например, для задания ширины или фонового цвета столбца - и поэтому HTML предоставляет эти два специальных элемента. Для того чтобы назначить свойства всем ячейкам одного столбца, используйте элемент col. Этот элемент может появляться только в элементе colgroup, а colgroup - только в table:

<table>
    <colgroup>
      <col class="middle">
      <col class="top">
    </colgroup>
   ...

Если же одинаковые свойства нужно применить к нескольким подряд расположенным столбцам, то их можно присвоить элементу colgroup, тем самым немного сократив запись:

<colgroup span="4" width="20%">
    </colgroup>
    <colgroup span="2" width="10%">
    </colgroup>

Что равносильно следующей записи:

<colgroup width="20%">
      <col />
      <col />
      <col />
      <col />
    </colgroup>
    <colgroup width="10%">
      <col />
      <col />
    </colgroup>

Как видите, число столбцов в группе задаётся либо их явным перечислением (обычно это делается в том случае, если некоторые из них нуждаются в дополнительных атрибутах), либо указанием их количества в значении атрибута span.

.graycol {
      background: #eee;
    }
    .widecol {
      width: 200px;
    }
  ...
  <table>
    <colgroup>
      <col class="graycol" span="2" />
      <col />
      <col class="graycol" span="2" />
      <col class="widecol" />
    </colgroup>
    <thead>
      <tr>
        <td>Класс graycol</td><td>Класс graycol</td><td>без стиля</td><td>Класс
          graycol</td><td>Класс graycol</td><td>Класс widecol</td>
      </tr>
    </thead>
    <tr>
      <td></td><td></td><td></td><td></td><td></td><td>Вообще, таблица задаётся
        набором строк</td>
    </tr>
    <tr>
      <td></td><td></td><td></td><td></td><td></td><td>но работа со столбцами
        часто бывает необходима</td>
    </tr>
    <tr>
      <td></td><td></td><td></td><td></td><td></td><td>например, для задания ширины
        или фонового цвета столбца</td>
    </tr>
    <tr>
      <td></td><td></td><td></td><td></td><td></td><td>- для этого HTML предоставляет
        элементы colgroup и col</td>
    </tr>
  </table>
Листинг 9.3. Применение элементов colgroup и col
Применение элементов colgroup и col

Рис. 9.5. Применение элементов colgroup и col
Упражнение. Примените к первым трём столбцам серый фон, а к последним - ширину 150 пикселей.
Атрибуты colspan и rowspan

Обычно в каждой строке таблицы количество ячеек одинаково. Если их окажется меньше, то браузер создаст пустые ячейки вместо недостающих; если больше - лишние будут выступать за границы таблицы. В тех случаях, когда нужно объединить горизонтальную группу ячеек, пользуются атрибутом colspan:

<td colspan="3">

Браузер создаст ячейку, занимающую то же пространство по горизонтали, как указанное количество ячеек в строках, расположенных выше или ниже. Аналогичным образом объединяется и вертикальная группа ячеек:

<td rowspan="3">

В обоих случаях, если значения атрибутов слишком большие (требуется объединить больше ячеек, чем их реально существует), то браузер объединит столько ячеек, сколько возможно, не создавая новых.

<table>
    <thead>
      <tr>
        <td colspan="2">colspan="2"</td><td colspan="3">colspan="3"
        </td><td> </td>
      </tr>
    </thead>
    <tr>
      <td rowspan="2">rowspan="2"</td><td></td><td></td><td></td><td>
      </td><td></td>
    </tr>
    <tr>
      <td></td><td rowspan="2" colspan="2">rowspan="2" colspan="2"
      </td><td></td><td rowspan="3" style="text-align: center">rowspan="3"
      </td>
    </tr>
    <tr>
      <td></td><td></td><td></td>
    </tr>
    <tr>
      <td></td><td></td><td></td><td></td><td></td>
    </tr>
  </table>
Листинг 9.4. Применение атрибутов colspan, rowspan и valign
Применение атрибутов colspan, rowspan и valign

Рис. 9.6. Применение атрибутов colspan, rowspan и valign
Упражнение. Сделайте в таблице объединения как на рис. 7
Объединения в таблице

Рис. 9.7. Объединения в таблице
< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Юрий Шах
Юрий Шах

Профессиональный веб-дизайн: Введение в современные веб-технологии
Самостоятельная работа 4

"3. Создание внешней таблицы.

Теперь создайте таблицу с двумя строками. Во второй строке создайте две ячейки - в первую переместите таблицу цифр, а во вторую - таблицу знаков."

Как в ячейку <td> поместить таблицу? Таблица же сама состоит из ячеек. Исходя из задания следует, что <td> может быть родителем для <td>, но это противоречит правилам HTML?
Если не прав - поправьте.
Также прошу разъяснить, как именно выполнить занное условие - поместить в табличную ячейку таблицу цифр, а в другую ячейку - таблицу знаков? 

Елена Сапегова
Елена Сапегова

После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть?

Nat Ves
Nat Ves
Израиль
Татьяна Орлова
Татьяна Орлова
Россия, Воронежская область