Интегрированные сети ISDN

         

в приведенном ниже примере



Таблица в приведенном ниже примере имеет две группы колонок. Первая группа содержит 10 колонок, а вторая – 5 колонок. Значение ширины колонки по умолчанию для каждой из колонок в первой группе равно 50 пикселей. Для второй группы ширина колонки определяется минимально возможным значением.

<table>

<colgroup span=”10” width=”50”>

<colgroup span=”5” width=”0*”>

<thead>

<tr> ….

</thead>

14.8. Элемент col

<!element col - o empty>



<!attlist col -- группы колонок и свойства --
%attrs; -- %coreattrs, %i18n, %events --
span number 1 -- число колонок в группе --
width cdata #implied -- спецификация ширин колонок --
%CEllhalign; -- горизонтальное выравнивание в ячейках --
%CEllvalign; -- вертикальное выравнивание в ячейках -- >

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

width = length

Этот атрибут задает значение по умолчанию для ширины колонок в группе. Атрибут может также принимать значение “0*” (смотри выше) и “i*”, где i - целое. Это называется относительной шириной. Когда агент пользователя выделяет место для таблицы, он сначала определяет габариты, а уже затем делит выделенное пространство, определяя относительные ширины рядов и колонок. Число i при этом определяет относительную долю, выделяемую данной колонке. Значение “*” эквивалентно “1*”.

Каждая группа колонок может содержать нуль или более элементов col. Элемент col не определяет группу колонок в том смысле, как это делает colgroup, он предоставляет способ задать значения атрибутов для всех колонок группы. Атрибут span элемента col имеет следующее значение.

В отсутствии декларации span каждый элемент col представляет одну колонку. Если атрибут span имеет значение n>0, текущий элемент col действует на n колонок таблицы. Если атрибут span равен нулю, текущий элемент col имеет воздействие на все оставшиеся колонки таблицы, начиная с текущей. Что же касается colgroup, атрибут width для col воздействует на ширины колонок, к которым относится этот элемент.
Если элемент cal действует на несколько колонок, тогда его атрибут width специфицирует ширину каждой колонки в его зоне ответственности.
Ниже приведен пример таблицы, имеющей две группы колонок. Первая группа содержит три колонки, вторая – две колонки. Доступное место по горизонтали определяется следующим образом. Сначала агент пользователя выделяет 30 пикселей для первой колонки. Затем будет выделено минимально возможное место для второй колонки. Оставшееся место по горизонтали будет поделено на 6 равных частей. Колонка 3 получит 2 такие порции, колонка 4 – одну, а колонка 5 получит 3.
<table>

<colgroup>


<col width=”30”>
<col width=”0*”>
<col width=”2*”>

<colgroup align=”center”>

<col width=”1*”>
<col width=”3*” align=”char” char=”:”>

<thead>

<tr> …..

</table>
Мы установили значение атрибута align во второй группе колонок равным “center”. Все ячейки в каждой колонке этой группы наследуют это значение. Но оно может быть изменено. В действительности последний элемент col делает это, специфицируя то, что все колонки, которыми он управляет, будут выровнены по символу “:”.
14.9. Ряды таблицы. Элемент tr
<!element tr - o (th|td)+>

<!attlist tr -- ряд таблицы --
%attrs; -- %coreattrs, %i18n, %events --
%CEllhalign; -- горизонтальное выравнивание в ячейках --
%CEllvalign; -- вертикальное выравнивание в ячейках --
bgcolor %color #implied -- цвет фона в ряду -- >

Элементы TR действуют как контейнеры рядов ячеек таблицы. Ниже приведен пример таблицы, которая имеет три ряда, каждый из которых открывается элементом TR.
<table>

<caption>cups of coffee consumed by each senator</caption>

<tr> … Ряд заголовка …

<tr> … Первый ряд данных …

<tr> … Второй ряд данных …

… остальная часть таблицы …

</table>
14.10. Ячейки таблицы. Элементы th и td
<!element (th|td) - o %block>

<!attlist (th|td) -- Заголовок или данные ячейки --
%attrs; -- %coreattrs, %i18n, %events --
axis cdata #iplied -- содержимое ячейки по умолчанию --
axes cdata #iplied -- список имен axis --
nowrap (nowrap) #implied -- блокирует разрыв слов --
bgcolor %color #implied -- цвет фона ячейки --
rowspan number -- число рядов, охватываемых ячейкой --
colspan number -- число колонок, охватываемых ячейкой --
%CEllhalign; -- горизонтальное выравнивание в ячейках --
%CEllvalign; -- вертикальное выравнивание в ячейках -- >
<


Определения атрибутов
axis = cdata
Атрибут определяет сокращенное имя заголовка ячейки. Имя ячейки по умолчанию – ее содержимое.
axes = cdata-list
Значение этого атрибута представляет собой список имен axis, разделенных запятыми. Эти имена представляют собой заголовки рядов и колонок, принадлежащих данной ячейке. В отсутствии этого атрибута агент пользователя идентифицирует эти имена сам.
rowspan = integer
Этот атрибут специфицирует число рядов в текущей ячейке. Значение этого атрибута по умолчанию равно 1. Значение нуль означает, что ячейка включает в себя все ряды, начиная с текущего, до конца таблицы.
colspan = integer
Этот атрибут специфицирует число колонок в текущей ячейке. Значение этого атрибута по умолчанию равно 1. Значение нуль означает, что ячейка включает в себя все колонки, начиная с текущей, до конца таблицы.
nowrap
Использование не рекомендуется. В случае присутствия этот булев атрибут указывает агенту пользователя заблокировать автоматический разрыв слов при выкладке их в ячейку. Вместо этого атрибута рекомендуется использовать стилевой лист.
Элемент TH запоминает заголовок, в то время как TD – данные. Это позволяет агенту пользователя обрабатывать заголовки и данные по-разному даже в отсутствии стилевого листа. Ячейки могут быть пустыми (не содержать данных). Ниже приведен пример таблицы с четырьмя колонками, имеющими заголовки.
<table>

<caption>Cups of coffee consumed by each senator</caption>

<tr> <th>name <th>Cups <th> Type of coffee <th> Suger?

<tr> <td>T. Sexton <td>10 <td>espresso <td>no

<tr> <td>J. Dinnen <td>5 <td>decaf <td>yes

… остальная часть таблицы …

</table>
Агент пользователя представит верхнюю часть данной таблицы в виде:
Cups of coffee consumed by each senator

Name Cups Type of coffee Sugar
T. Sexton 10 espresso no
J. Dinnen 5 decaf yes

Для того чтобы сделать таблицу более выразительной, можно ввести атрибут border в элемент table.


<table border=”border”>

… остальная часть таблицы …

</table>
Тогда агент пользователя отобразит начало данной таблицы следующим образом:
Cups of coffee consumed by each senator

Name Cups Type of coffee Sugar
T. Sexton 10 espresso no
J. Dinnen 5 decaf yes

Ячейки с этикетками
Атрибуты axis и exes предоставляют возможность снабжать ячейки таблицы этикетками (labels). Синтезаторы речи могут использовать эти этикетки для идентификации содержимого и положения каждой ячейки. Программное обеспечение может рассматривать эти этикетки как имена полей базы данных при занесении содержимого таблицы в банк данных. Ниже представлен пример таблицы, где значение атрибута axis представляет собой фамилию сенатора.
<table border=”border”>

<caption>Caps of coffee consumed by each senator</caption>

<tr> <th>Name <th>Cups <th> Type of coffee <th> suger?

<tr> <td axis=”sexton” exes=”name”>T. Sexton <td>10

<td>espresso <td>no

<tr> <td axis=”dinnen” exes=”name”>J. Dinnen <td>5 <td>decaf <td>yes

</table>
14.11. Ячейки, которые занимают несколько рядов или колонок
Ячейки могут охватывать несколько рядов или колонок. Число рядов или колонок в ячейке определяется атрибутами rowspan и colspan для соответственно TH или TD-элементов. В таблице, которая была описана, ячейка в ряду 4 вторая колонка должна занимать три колонки, включая текущий ряд.
<table border=”border”>

<caption>Caps of coffee consumed by each senator</caption>

<tr> <th>Name <th>Cups <th> Type of coffee <th> suger?

<tr> <td>T. Sexton <td>10 <td>espresso <td>no

<tr> <td>J. dinnen <td>5 <td>decaf <td>yes

<tr> <td>A. Soria <td colspan=”3”<em>not available</em>

</table>
Эта таблица будет развернута визуальным агентом пользователя как:


Caps of coffee consumed by each senator

Name Cups Type of coffee Suger?
T. Sexton 10 espresso no
J. Dinnen 5 decaf yes
A. Soria not available

Этот пример иллюстрирует как описания ячеек, которые распространяются более чем на один ряд или колонку, влияет на определение последующих ячеек. Рассмотрим следующее описание таблицы.
<table border=”border”>

<tr> <td>1 <td rowspan=”2”>2 <td>3

<tr> <td>4 <td>6

<tr> <td>7 <td>8 <td>9

</table>

Содержание раздела