ИНФОРМАЦИЯ,    ДИЗАЙН,    ПЕРЕВОДЫ,    РЕКЛАМА   .   .   .
w a p - с а й т
Информационный портал
Сегодня:  
admin@aranea.ru
+79068922256

  aranea.ru || Спецификация HTML 4.01 | 11. Таблицы

11. Таблицы

11.3. Форматирование таблицы визуальными устройствами вывода

11.3.1. Границы и рамки
11.3.2. Горизонтальное и вертикальное выравнивание
   Наследование спецификаций выравнивания
11.3.3. Поля ячеек

Обратите внимание. Следующие разделы описывают атрибуты HTML-таблицы, которые связаны с визуальным форматированием. Когда эта спецификация была впервые опубликована в 1997 году, каскадные таблицы версии 1 [CSS1] не предлагали механизма управления всеми сторонами визуального форматирования таблиц. После этого, в каскадные таблицы версии 2 [CSS2] добавили свойства, позволяющие осуществлять визуальное форматирование таблиц.

HTML 4 включает механизмы контроля:

  • Стили границ
  • Горизонтальное и вертикальное выравнивание содержания ячеек
  • И поля ячеек

11.3.1 Границы и рамки

Следующие атрибуты влияют на внешние обрамление и внутренние границы таблицы.

Определение атрибутов

frame = void|above|below|hsides|lhs|rhs|vsides|box|border [CI]
Этот атрибут определяет, какая сторона рамки, окружающая таблицу, будет видима. Возможные величины:
  • void: Отсутствует. Это значение по умолчанию.
  • above: Только на верхней стороне.
  • below: Только на нижней стороне.
  • hsides: Только сверху и внизу.
  • vsides: Только справа и слева.
  • lhs: Только с левой стороны.
  • rhs: Только с правой стороны.
  • box: Со всех четырех сторон.
  • border: Со всех четырех сторон.
rules = none|groups|rows|cols|all [CI]
Этот атрибут определяет, какие линии появятся между ячейками внутри таблицы. Визуализация линий зависит от устройства вывода. Возможные значения:
  • none: Нет линий. Это значение по умолчанию.
  • groups: Линии появятся только между группой рядов (смотрите THEAD, TFOOT и TBODY) и группой колонок (смотрите COLGROUP и COL).
  • rows: Линии появятся только между рядами.
  • cols: Линии появятся только между колонками.
  • all: Линии появятся между всеми рядами и колонками.
border = pixels [CN]
Этот атрибут определяет ширину (только в пикселях) рамки вокруг таблицы.

Чтобы различать ячейки таблицы, мы можем установить атрибут border элемента TABLE. Рассмотрим предыдущий пример:

<TABLE border="1" 
       summary="This table charts the number of cups
                of coffee consumed by each senator, the type 
                of coffee (decaf or regular), and whether 
                taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
   <TH>Name</TH>
   <TH>Cups</TH>
   <TH>Type of Coffee</TH>
   <TH>Sugar? </TH>
<TR>
   <TD>T. Sexton</TD>
   <TD>10</TD>
   <TD>Espresso</TD>
   <TD>No</TD>
<TR>
   <TD>J. Dinnen</TD>
   <TD>5</TD>
   <TD>Decaf</TD>
   <TD>Yes</TD>
</TABLE>

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

<TABLE border="5" frame="vsides" rules="cols">
<TR> <TD>1 <TD>2 <TD>3
<TR> <TD>4 <TD>5 <TD>6
<TR> <TD>7 <TD>8 <TD>9
</TABLE>

Для обратной совместимости устройствам вывода необходимо учитывать следующие установки.

  • Установка border="0" подразумевает, что frame="void", и пока не будет определено иначе, rules="none".
  • Другие значения border подразумевают frame="border" до тех пор, пока не будет определено иначе, rules="all".
  • Значение "border" в начальном теге элемента TABLE следует интерпретировать как значение атрибута frame. Это означает rules="all" и значение по умолчанию (не нулевое) для атрибута border.

Например, следующие определения эквивалентны:

<TABLE border="2">
<TABLE border="2" frame="border" rules="all">

то же самое:

<TABLE border>
<TABLE frame="border" rules="all">

Обратите внимание. Атрибут border определяет также, как граница ведет себя для элементов OBJECT и IMG, но имеет другие значения для этих элементов.

11.3.2 Горизонтальное и вертикальное выравнивание

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

<!-- horizontal alignment attributes for cell contents -->
<!ENTITY % cellhalign
  "align      (left|center|right|justify|char) #IMPLIED
   char       %Character;    #IMPLIED  -- alignment char, e.g. char=':' --
   charoff    %Length;       #IMPLIED  -- offset for alignment char --"
  >
<!-- vertical alignment attributes for cell contents -->
<!ENTITY % cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
  >

Определение атрибутов

align = left|center|right|justify|char [CI]
Этот атрибут устанавливает выравнивание данных и текста в ячейки. Возможные значения:
  • left: Выравнивание данных и текста по левому краю.
  • center: Центрирование данных и текста. Это значение используется по умолчанию для заголовков таблицы.
  • right: Выравнивание данных и текста по правому краю.
  • justify: Выравнивание текста по обеим сторонам.
  • char: Выравнивание текста по определенному тексту. Если устройство вывода не поддерживает выравнивание по символу, то поведение данной величины не определено.
valign = top|middle|bottom|baseline [CI]
Этот атрибут определяет вертикальное расположение данных внутри ячейки. Возможные значения:
  • top: Данные ячейки располагаются наверху ячейки.
  • middle: Данные ячейки центрируются вертикально внутри ячейки.
  • bottom: Данные ячейки располагаются внизу ячейки.
  • baseline: Все ячейки в одном и том же ряду, где ячейка имеет атрибут valign с этим значением, должны располагать текстуальные данные так, чтобы первая строка текста появлялась на базовой линии, характерной для всех ячеек ряда. Это ограничение не применяется к последующим текстовым строкам в этих ячейках.
char = character [CN]
Этот атрибут определяет единичный символ внутри текстового фрагмента, действующего как ось для выравнивания. Значение по умолчанию для этого атрибута – десятичная точка для текущего языка, установленного атрибутом lang (например, точка (".") для английского языка и запятая (",") для французского языка). Не все устройства вывода поддерживают этот атрибут.
charoff = length [CN]
Когда этот атрибут присутствует, то он определяет смещение первого символа выравнивания в каждой строке. Если строка не включает символа выравнивания, то она должна смещаться горизонтально к концу позиции выравнивания.
Когда charoff используется для установления смещения символа выравнивания, то направление смещения определяется направлением текущего текста (устанавливается атрибутом dir). В тексте, направленном слева направо (по умолчанию), смещение начинается с левого поля. В тексте, направленном справа налево, смещение начинается с правого поля. Не все устройства вывода поддерживают этот атрибут.

Таблица в следующем примере выравнивает ряд денежных значений по десятичной точке. Мы устанавливаем символ "." явным образом.

<TABLE border="1">
<COLGROUP>
<COL><COL align="char" char=".">
<THEAD>
<TR><TH>Vegetable <TH>Cost per kilo
<TBODY>
<TR><TD>Lettuce        <TD>$1
<TR><TD>Silver carrots <TD>$10.50
<TR><TD>Golden turnips <TD>$100.30
</TABLE>

Отформатированная таблица может визуализироваться следующим образом:

------------------------------
|   Vegetable  |Cost per kilo|
|--------------|-------------|
|Lettuce       |        $1   |
|--------------|-------------|
|Silver carrots|       $10.50|
|--------------|-------------|
|Golden turnips|      $100.30|
------------------------------

Когда содержание ячейки включает больше одного символа выравнивания, определенного char, и это содержание переносится, то поведение устройства вывода не определено. Поэтому, авторам следует быть внимательным при использовании char.

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

Наследование спецификаций выравнивания

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

Порядок преимущества (от высшего к низшему) для атрибутов align, char и charoff следующий:

  1. Установка атрибута выравнивания внутри данных ячейки (например, P).
  2. Установка атрибута выравнивания в ячейке (TH и TD).
  3. Установка атрибута выравнивания в элементе, группирующем колонки (COL и COLGROUP). Когда ячейка занимает несколько колонок, то свойство выравнивания наследуется от определения ячейки, расположенной в начале.
  4. Установка атрибута выравнивания для ряда или элементов, группирующих ряды (TR, THEAD, TFOOT и TBODY). Когда ячейка включает несколько рядов, то свойство выравнивания наследуется от определения ячейки, расположенной в начале.
  5. Установка атрибута выравнивания для таблицы (TABLE).
  6. Значение выравнивания по умолчанию.

Порядок преимущества (от высшего к низшему) для атрибута valign (а также других наследуемых атрибутов lang, dir и style) следующий:

  1. Установка атрибута для элемента внутри данных ячейки (например, P).
  2. Установка атрибута для ячейки (TH и TD).
  3. Установка атрибута для ряда или элементов, группирующих ряды (TR, THEAD, TFOOT и TBODY). Когда ячейка занимает несколько рядов, то значение атрибута наследуется от определения ячейки, расположенной в начале.
  4. Установка атрибута для элементов, группирующих колонки (COL и COLGROUP). Когда ячейка занимает несколько колонок, то значение атрибута наследуется от определения ячейки, расположенной в начале.
  5. Установка атрибута для таблицы (TABLE).
  6. Значение атрибута по умолчанию.

Более того, когда визуализируются ячейки, горизонтальное выравнивание определяется колонками, а не рядам, в то же время для вертикального выравнивания рядам отдается предпочтение над колонками.

Выравнивание по умолчанию для ячеек зависит от устройства вывода. Но, устройства вывода должны замещать атрибут по умолчанию для текущего направления (т.е. но не "left" во всех случаях).

Устройства вывода, которые поддерживают значение "justify" атрибута align, должны использовать значение наследуемого направления в данном месте.

Внимание. Обратите внимание, что ячейка может наследовать атрибуты не от свого родительского элемента, а от первой ячейки в диапазоне. Это является исключением для общего правила наследования атрибутов.

11.3.3 Поля ячеек

Определение атрибутов

cellspacing = length [CN]
Этот атрибут определяет, как много места устройство вывода оставляет между стороной таблицы и левой стороной самой левой колонки, а также - верхом таблицы и самой верхней стороной самого верхнего ряда, и т.д. для правой и нижней сторон таблицы. Атрибут также определяет размер места, оставленного между ячейками.
cellpadding = length [CN]
Этот атрибут определяет размер поля между границей ячейки и ее содержанием. Если значение этого атрибута выражено в пикселях, то все четыре поля должны быть на таком же расстоянии от содержания. Если значение атрибутов выражено в процентах, то верхнее и нижнее поля должны быть отделены от содержания на расстояние, рассчитанное на основе процента от доступного вертикального пространства, а левое и правое поля должны быть отделены от содержания на расстояние, рассчитанное на основе процента от доступного горизонтального пространства.

Эти два атрибута контролируют пространство между и внутри ячеек. Следующая иллюстрация объясняет, как они связаны:

В следующем примере, атрибут cellspacing определяет то, что ячейки должны разделяться друг от друга и от рамки таблицы на двадцать пикселей. Атрибут cellpadding устанавливает, что верхнее и нижнее поля ячейки каждое отделено от содержания ячейки 10% доступного вертикального пространства (итого 20%). Таким же образом, левое и правое поля ячейки каждое разделено от содержания ячейки 10% доступного горизонтального пространства (итого 20%).

<TABLE cellspacing="20" cellpadding="20%">
<TR> <TD>Data1 <TD>Data2 <TD>Data3
</TABLE>

Если таблица или данная колонка имеет фиксированную ширину, то cellspacing и cellpadding могут потребовать больше пространства, чем присвоено. Устройства вывода дают этим атрибутам преимущество над атрибутом width, когда возникает конфликт, но это не обязательно.


← Назад | Вперед →
Copyright © 2006 -  aranea.ru