Тег | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
3.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Спецификация
HTML: | 3.2 | 4.01 | 5.0 | XHTML: | 1.0 | 1.1 |
Описание
Предназначен для создания одной ячейки таблицы. Тег <td> должен размещаться внутри контейнера <tr>, который в свою очередь располагается внутри тега <table>.
Синтаксис
<table>
<tr>
<td>...</td>
</tr>
</table>
Атрибуты
- abbr
- Краткое описание содержимого ячейки.
- align
- Определяет выравнивание содержимого ячейки по горизонтали.
- axis
- Группирует ячейки связанные между собой похожей информацией.
- background
- Задает фоновый рисунок в ячейке.
- bgcolor
- Цвет фона ячейки.
- bordercolor
- Цвет рамки.
- char
- Выравнивает содержимое ячейки по заданному символу.
- charoff
- Смещает содержимое ячейки относительно заданного символа.
- colspan
- Объединяет горизонтальные ячейки.
- headers
- Позволяет связать ячейки с заголовком.
- height
Высота ячейки.- nowrap
- Запрещает перенос строк.
- rowspan
- Объединяет вертикальные ячейки.
- scope
- Позволяет связать ячейки простой таблицы с заголовками в речевых браузерах.
- valign
- Выравнивание содержимого ячейки по вертикали.
- width
- Ширина ячейки.
Также для этого тега доступны универсальные атрибуты и события.
Закрывающий тег
Не обязателен.
Пример
HTML 4.01IECrOpSaFx
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Тег TD</title> </head> <body> <table border="1" cellpadding="7" cellspacing="0"> <tr> <td colspan="2" bgcolor="#D3EDF6" align="center">Ячейка 1</td> </tr> <tr> <td valign="top" align="center">Ячейка 2</td> <td valign="top">Ячейка 3</td> </tr> </table> </body> </html>
Тег | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
6.0+ | 1.0+ | 6.![]() |
1.0+ | 1.0+ | 1.0+ | 1.0+ |
Спецификация
HTML: | 3.2 | 4.01 | 5.0 | XHTML: | 1.0 | 1.1 |
Описание
Тег <col> задает ширину и другие характеристики одной или нескольких колонок таблицы. При наличии этого тега браузер начинает показывать содержимое таблицы, не дожидаясь ее полной загрузки. Тег <col> можно использовать совместно с тегом <colgroup>, который задает группу колонок, обладающих общими характеристиками.
Синтаксис
HTML |
|
XHTML |
|
Атрибуты
- align
- Устанавливает выравнивание содержимого колонки по краю.
- Выравнивает содержимое колонки по заданному символу.
- charoff
- Сдвигает содержимое ячейки относительно заданного символа.
- span
- Количество колонок, к которым следует применять параметры.
- valign
- Задает вертикальное выравнивание содержимого колонки.
- width
- Ширина колонок.
Закрывающий тег
Не требуется.
Пример
HTML5IECrOpSaFx
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Тег COL</title> </head> <body> <table border="0" cellpadding="5" cellspacing="0"> <col valign="top"> <col valign="top"> <tr> <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
</td> <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. </td> </tr> </table> </body> </html>
Результат данного примера показан на рис. 1. В браузерах Firefox, Safari и Chrome текст по верхнему краю ячейки выравниваться не будет (рис. 2).
Рис. 1. Вид колонок в браузере Opera
Рис. 2. Вид колонок в браузере Safari
table-layout | CSS (Примеры)
Свойство table-layout
определяет, как браузер должен вычислять ширину ячеек таблицы, основываясь на её содержимом.
Синтаксис
/* Keyword values */ table-layout: auto; table-layout: fixed; /* Global values */ table-layout: inherit; table-layout: initial; table-layout: unset;
Значения
auto
- Браузер загружает всю таблицу, анализирует её для определения размеров ячеек и только после этого отображает.
fixed
- Ширина колонок в этом случае определяется либо с помощью тега
<col>
, либо вычисляется на основе первой строки. Если данные о форматировании первой строки таблицы по каким-либо причинам получить невозможно, в этом случае таблица делится на колонки равной ширины. При использовании этого значения, содержимое, которое не помещается в ячейку указанной ширины, будет «обрезано» либо наложено поверх ячейки. Это зависит от используемого браузера, но в любом случае ширина ячейки меняться не будет. Для корректной работы этого значения обязательно должна быть задана ширина таблицы.
Значение по-умолчанию: auto
Применяется к тегу <table>
или к элементу, у которого значение display
установлено как table
или inline-table
.
Спецификации
Описание и примеры
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>table-layout</title> <style> table { table-layout: fixed; /* Фиксированная ширина ячеек */ width: 100%; /* Ширина таблицы */ } .
col1 { width: 160px; } .coln { width: 60px; } </style> </head> <body> <table border="1"> <col /> <col span="9" /> <tr> <td></td> <td>2012</td> <td>2013</td> <td>2014</td> <td>2015</td> <td>2016</td> <td>2017</td> <td>2018</td> <td>2019</td> <td>2020</td> </tr> <tr> <td>Нефть</td> <td>5</td> <td>7</td> <td>2</td> <td>8</td> <td>3</td> <td>34</td> <td>62</td> <td>74</td> <td>57</td> </tr> <tr> <td>Золото</td> <td>3</td> <td>6</td> <td>4</td> <td>6</td> <td>4</td> <td>69</td> <td>72</td> <td>56</td> <td>47</td> </tr> <tr> <td>Дерево</td> <td>5</td> <td>8</td> <td>3</td> <td>4</td> <td>7</td> <td>73</td> <td>79</td> <td>34</td> <td>86</td> </tr> </table> </body> </html>
table-layout.

Краткая информация по CSS-свойству table-layout
Значение по умолчанию | auto |
---|---|
Наследуется | Нет |
Применяется | К тегу <table> или к элементу, у которого значение display установлено как table или inline-table. |
Правила написания свойства table-layout
table-layout: auto | fixed
При выбранном значении auto браузер загружает всю таблицу, после чего анализирует ее для определения размеров ячеек и лишь после этого показывает на странице.
При значении fixed ширина колонок вычисляется на основе первой строки, либо определяется с помощью тега <col>. Если данные о форматировании первой строки таблицы по каким-либо причинам получить невозможно, то таблица делится на колонки равной ширины. При использовании значения fixed, содержимое, которое не помещается в ячейку указанной ширины, будет «обрезано» или наложено поверх ячейки (зависит от используемого браузера), но в любом случае ширина ячейки меняться не будет. Для корректной работы этого значения обязательно задавайте ширину таблицы!
Объектная модель
Объект.style.tableLayout
Пример применения стиля table-layout
Проиллюстрируем работу table-layout на примере. Нам нужно, чтобы ширина ячеек не зависела от содержимого.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Пример CSS стиля table-layout</title>
<style>
table {
table-layout: fixed; /* Фиксированная ширина ячеек */
width: 100%; /* Ширина таблицы */
}
.col1 { width: 160px; }
.coln { width: 60px; }
</style>
</head>
<body>
<table border="1">
<col>
<col span="3">
<tr>
<td> </td>
<td>2012</td><td>2013</td><td>2014</td>
</tr>
<tr>
<td>Доллар</td><td>32</td><td>35</td><td>37</td>
</tr>
<tr>
<td>Евро</td><td>40</td> <td>42</td><td>44</td>
</tr>
<tr>
<td>Фунт</td><td>43</td><td>50</td><td>55</td>
</tr>
</table>
</body>
</html>
Визуальное положение содержания таблицы — HTML, CSS, JavaScript, Perl, PHP, MySQL: Weblibrary.

Как и другие элементы языка документа, внутренние элементы таблицы генерируют прямоугольные блоки с содержимым, полями внутри ячейки и границами. Однако они не имеют полей.
Расположение этих блоков при визуальном представлении регулируется прямоугольной неравномерной сеткой строк и столбцов. Каждый блок занимает определенное количество ячеек, определяемое согласно следующим правилам. Эти правила не применяются в HTML 4.0 и в более ранних версиях; язык HTML устанавливает собственные ограничения на строки и столбцы.
- Каждый блок строки занимает одну строку ячеек сетки. Все вместе блоки строк заполняют таблицу сверху вниз в порядке, в котором они располагаются в исходном документе (т.е. таблица занимает ровно столько строк, сколько в таблице элементов строк).
- Группа строк занимает те же ячейки, что и строки, которые она включает.
- Блок столбцов занимает одну или несколько ячеек сетки. Блоки столбцов помещаются рядом друг с другом в указанном порядке.
Первый блок столбцов может находиться слева или справа, в зависимости от значения свойства ‘direction’ таблицы.
- Блок группы занимает те же ячейки сетки, что и содержащиеся в группе столбцы.
- Ячейки могут занимать несколько строк или столбцов. (Хотя в спецификации CSS2 не дается способ определения количества занимаемых ячейкой строк или столбцов, у агента пользователя могут быть особые сведения об исходном документе; возможно, в будущих версиях CSS будет определен способ представления такой информации посредством синтаксиса CSS.) Таким образом, каждая ячейка является прямоугольным блоком, по ширине и высоте равным одной или нескольким ячейкам сетки. Верхняя строка этого прямоугольника находится в строке, определяемой родительским элементом ячейки. Этот прямоугольник должен находиться как можно левее, но он не может перекрывать другой блок ячейки и должен находиться правее всех ячеек одной строки, расположенных до него в исходном документе. (Это ограничение сохраняется и в том случае, если свойство ‘direction’ таблицы имеет значение ‘ltr’; если свойство ‘direction’ имеет значение ‘rtl’, в предыдущем предложении следует заменить по смыслу слова “слева” на “справа”.
)
- Блок ячейки не может выходить за пределы последней строки таблицы или группы строк; поэтому агенты пользователей должны соответственно сокращать его.
Примечание. Ячейки таблицы могут позиционироваться относительно и абсолютно, но такое позиционирование использовать не рекомендуется: при размещении и прикреплении блок может быть удален, что влияет на выравнивание таблицы.
Далее представлено два примера. Первый относится к документам HTML:
<TABLE>
<TR><TD>1 <TD rowspan="2">2 <TD>3 <TD>4
<TR><TD colspan="2">5
</TABLE>
<TABLE>
<ROW><CELL>1 <CELL rowspan="2">2 <CELL>3 <CELL>4
<ROW><CELL colspan="2">5
</TABLE>
Форматирование второй таблицы показано на рисунке справа. Однако представление таблицы HTML не определено явным образом средствами HTML, и CSS также не определяет его. Агенты пользователей могут представлять таблицы на свое усмотрение, например, так, как показано на рисунке слева.
Слева – один из вариантов представления некорректной таблицы HTML 4.0; справа – единственный возможный вариант форматирования аналогичной таблицы, описанной без использования HTML.
Слои и прозрачность таблицы
Для поиска фона каждой ячейки таблицы можно считать, что различные элементы таблицы состоят из шести слоев. Фон элемента, установленный в одном из слоев, будет видим, только если у расположенных выше слоев фон прозрачный.
Схема слоев таблицы.
- Самый нижний слой представляет собой одну плоскость, представляющую сам блок таблицы. Как и все блоки, он может быть прозрачным.
- Следующий слой содержит группы столбцов. Группы столбцов по высоте равны самой таблице, но не обязательно занимают всю ее ширину.
- В верхней части групп столбцов находятся области, представляющие блоки столбцов. Как и группы столбцов, столбцы по высоте равны самой таблице, но не всегда занимают всю ширину таблицы.
- Далее следует слой, содержащий группы строк.
Каждая группа строк имеет ширину, равную ширине таблицы. Вместе взятые, группы полностью занимают таблицу сверху вниз.
- Предпоследний слой содержит строки. Строки также занимают всю таблицу.
- Самый верхний слой содержит собственно ячейки. Как показано на рисунке, хотя все строки и содержат одинаковое количество ячеек, не в каждой ячейке имеется содержимое. “Пустые” ячейки считаются прозрачными, поэтому через них будут видны нижние слои.
В следующем примере первая строка содержит четыре ячейки, вторая – ни одной, поэтому через нее виден фон таблицы, за исключением тех случаев, когда ячейка первой строки занимает и вторую строку. Следующий код HTML и правила стиля
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<STYLE type="text/css">
TABLE { фон: #ff0; border-collapse: collapse }
TD { фон: red; border: double black }
</STYLE>
</HEAD>
<BODY>
<P>
<TABLE>
<TR>
<TD> 1
<TD rowspan=”2″> 2
<TD> 3
<TD> 4
</TR>
<TR><TD></TD></TR>
</TABLE>
</BODY>
</HTML>
может форматироваться так:
Таблица с тремя пустыми ячейками в нижней строке.
Алгоритмы определения ширины таблицы: свойство ‘table-layout’
В CSS не определяется “оптимальное” компоновка таблиц, так как в большинстве случаев оптимальное является делом вкуса. В CSS не определяются ограничения, которые агенты пользователей должны учитывать при построении таблицы. Агенты пользователей могут использовать любой алгоритм и выбирать скорость представления, если не указан “алгоритм фиксированного положения”.
‘table-layout’
Значение: auto | fixed | inherit
Начальное значение: auto
Область применения: элементы ‘table’ и ‘inline-table’
Наследование: нет
Процентное значение: не применяется
Устройства: визуальные
Свойство ‘table-layout’ управляет алгоритмом, используемым для размещения ячеек, строк и столбцов таблицы. Значения имеют следующий смысл:
fixed
Используется алгоритм фиксированного положения таблицы
auto
Используется любой алгоритм автоматического размещения таблицы
Ниже представлены описания обоих алгоритмов.
Фиксированное расположение таблицы
При использовании данного (быстрого) алгоритма горизонтальное положение таблицы не зависит от содержимого ячеек; оно зависит только от ширины таблицы, ширины столбцов и расстояния между границами или ячейками.
Ширина таблицы может указываться явным образом с помощью свойства ‘width’. Значение ‘auto’ (для свойств ‘display: table’ и ‘display: inline-table’) предполагает использование алгоритма автоматического размещения таблицы.
При использовании алгоритма фиксированного расположения таблицы ширина каждого столбца определяется следующим образом:
- Элемент столбца со значением свойства ‘width’, отличным от ‘auto’, определяет ширину этого столбца.
- В противном случае ширину этого столбца определяет ячейка из первой строки свойства ‘width’, отличным от ‘auto’. Если ячейка охватывает несколько столбцов, ширина делится на количество столбцов.
- Между остальными столбцами оставшееся свободное пространство таблицы (минус границы или расстояние между ячейками) длится поровну.
- Вычисляется минимальная ширина содержимого (МШС) каждой ячейки: форматированное содержимое может занимать любое число строк, но не может выходить за пределы блока ячейки. Если указанная в свойстве ‘width’ ширина (Ш) ячейки превышает МШС, Ш является минимальной шириной ячейки. Значение ‘auto’ означает, что минимальной шириной ячейки является МШС.
- Для каждого столбца определяется максимальная и минимальная ширина ячеек, занимающих только этот столбец. Минимальная ширина – это ширина, необходимая для ячейки с самым большим значением минимальной ширины (или значением свойства ‘width’ столбца, в зависимости от того, какое значение больше).
Максимальная ширина – это ширина, необходимая для ячейки с самым большим значением максимальной ширины (или значением свойства ‘width’ столбца, в зависимости от того, какое значение больше).
- Для каждой ячейки, которая занимает несколько столбцов, необходимо увеличить минимальную ширину занимаемых ею столбцов таким образом, чтобы их общая ширина равнялась ширине ячейки. Сделайте это и для максимальной ширины. При возможности необходимо расширить все занимаемые ячейкой столбцы на приблизительно одинаковую величину.
- Если для свойства ‘width’ элементов ‘table’ или ‘inline-table’ указано значение (Ш), отличное от ‘auto’, значением свойства будет наибольшее из Ш и минимальной ширины, необходимой для всех столбцов с учетом расстояния между ячейками и границами (МИН). Если Ш больше МИН, оставшееся пространство будет распределено между столбцами.
- Если для элемента ‘table’ или ‘inline-table’ установлено значение ‘width: auto’, ширина таблицы будет равна наибольшему из значений ширины содержащего блока таблицы и значения МИН. Однако если максимальная ширина, необходимая для столбцов и расстояния между ячейками и границами (МАКС), меньше ширины содержащего блока, необходимо использовать значение МАКС.
- Сначала позиционируются ячейки, выровненные относительно базовой линии. В результате будет создана базовая линия строки. Далее позиционируются ячейки со свойством ‘vertical-align: top’.
- После этого у строки имеется верх, базовая линия (возможно) и условная высота, которая является расстоянием от верхнего края до самого нижнего края ячеек, позиционированных на этот момент. (Условия распределения полей внутри ячейки см. ниже.)
- Если высота какой либо из оставшихся ячеек, которые выровнены по нижнему краю или по центру, превышает текущую высоту строки, высота строки увеличится до максимальной высоты таких ячеек за счет опускания нижней части.
- В последнюю очередь позиционируются оставшиеся ячейки.
Таким образом ширина таблицы становится равной наибольшему из значений свойства ‘width’ для элемента таблицы и суммы ширины столбцов (плюс расстояние между ячейками и границами). Если ширина таблицы превышает ширину столбцов, свободное пространство должно быть распределено между столбцами.
При таком алгоритме агент пользователя может начать компоновку таблицы после того, как полностью получена первая строка. Ячейки в последующих строках не влияют на ширину столбцов. Если содержимое не вмещается в ячейку, его сокращение определяется свойством ‘overflow’.
Автоматическое расположение таблицы
В данном алгоритме (который обычно требует не более двух проходов) ширина таблицы задается шириной столбцов (и расстоянием между границами). Этот алгоритм отражает поведение популярных агентов пользователей HTML на момент написания данной спецификации. Агенты пользователей могут использовать для компоновки таблицы, для свойства ‘table-layout’ которой установлено значение ‘auto’, любой другой алгоритм вместо этого.
Данный алгоритм может быть неэффективным, поскольку агент пользователя должен иметь доступ ко всему содержимому таблицы, прежде чем сможет определить конечное положение таблицы, и поскольку может потребоваться несколько проходов.
Ширина столбцов определяется следующим образом:
Также подсчитывается “максимальная” ширина каждой ячейки: форматирование содержимого без разрыва строк за исключением разрывов, указанных явным образом.
Результатом будет максимальная и минимальная ширина каждого столбца. Ширина столбцов влияет на ширину конечной таблицы следующим образом:
Процентное значение ширины столбца определяется относительно ширины таблицы. Если для таблицы установлено значение ‘width: auto’, процентное значение показывает ограничение на ширину столбца, которое агент пользователя должен постараться соблюдать при создании таблицы. (Очевидно, это не всегда возможно: если ширина столбца равна ‘110%’, ограничение не будет соблюдено.)
Примечание. В этом алгоритме строки (и группы строк) и столбцы (и группы столбцов) как ограничивают, так и сами ограничены размерами ячеек, из которых они состоят. Установка ширины столбца может косвенно влиять на высоту строки и наоборот.
Алгоритмы определения высоты таблицы
Высота таблицы определяется свойством ‘height’ для элемента ‘table’ или ‘inline-table’. Значение ‘auto’ обозначает, что высота является суммой высот строк и расстояний между ячейками и границ. Любое другое значение указывает точную высоту; поэтому высота таблицы может быть больше или меньше суммарной высоты содержащихся в ней строк. В CSS2 не определяется представление таблицы, если высота этой таблицы не совпадает с высотой содержимого, в частности, должна ли высота содержимого превышать указанную высоту; и если не должна, то как будет распределяться свободное пространство между строками, высота которых меньше указанного значения высоты таблицы; или, если высота содержимого превышает указанную высоту таблицы, должен ли агент пользователя создать механизм прокрутки. Примечание. Возможно, в будущих версиях CSS это будет определено.
Высота поля элемента ‘table-row’ подсчитывается после того, как агенту пользователя будут доступны все ячейки строки: это будет наибольшая из величин высоты строки (свойство ‘height’) и минимальной высоты (МИН), необходимой для ячеек. Если для свойства ‘height’ элемента ‘table-row’ установлено значение ‘auto’, это означает, что подсчитанная высота строки имеет значение МИН. Значение МИН зависит от высот блоков ячеек и выравнивания блока ячейки (аналогично вычислению высоты линейного блока). В CSS2 не определяется, относительно чего подсчитываются процентные значения свойства ‘height’ для строк таблицы и групп строк.
В CSS2 высота блока ячейки является наибольшим из значений свойства ‘height’ ячейки таблицы и минимальной высотой, необходимой для содержимого (МИН). Если для свойства ‘height’ установлено значение ‘auto’, подразумевает, что используется подсчитанное значение МИН. В CSS2 не определяется, относительно чего подсчитываются процентные значения свойства ‘height’ для ячеек таблицы.
В CSS2 не определяется, как влияют на подсчет высоты строки ячейки, занимающие несколько строк, за исключением того, что сумма высот строк, составляющих ячейку, должна быть достаточно большой, чтобы вместить эту ячейку.
Свойство ‘vertical-align’ каждой ячейки таблицы определяет ее выравнивание в строке. Содержимое каждой ячейки имеет базовую линию, верх, средину и низ, так же как и сама строка. В контексте таблиц значения свойства ‘vertical-align’ имеют следующий смысл:
baseline
Базовая линия ячейки располагается на той же высоте, что и базовая линия первой строки, занимаемой ячейкой (определение базовой линии ячеек и строк см. ниже).
top
Верх блока ячейки совпадает с верхом первой строки, занимаемой ячейкой.
bottom
Низ блока ячейки совпадает с низом последней строки, занимаемой ячейкой.
middle
Середина ячейки совпадает с серединой строк, занимаемых ячейкой.
sub, super, text-top, text-bottom
Эти значения не применяются к ячейкам; в случае этих значений ячейка выравнивается по базовой линии.
Базовая линия ячейки – это базовая линия первого линейного блока ячейки. Если в нем не содержится текста, базовой служит базовая линией любого объекта, отображенного в этой ячейке, или, если объектов нет, низ блока ячейки. Максимальное расстояние между верхней частью блока ячейки и базовой линией всех ячеек, для которых установлено выравнивание ‘vertical-align: baseline’, используется для установки базовой линии строки. Пример:
На рисунке показано влияние различных значений свойства ‘vertical-align’ на ячейки таблицы.
Блоки ячеек 1 и 2 выровнены по базовой линии. У блока ячеек 2 имеет наибольшую высоту до базовой линии, поэтому он определяет базовую линию строки. Обратите внимание, что если ни один из блоков ячеек не выровнен по базовой линии, у строки не будет базовой линии (в этом нет необходимости).
Во избежание конфликтных ситуаций выравнивание ячеек производится в следующем порядке:
Блокам ячеек, которые меньше высоты строки, добавляется дополнительное верхнее или нижнее поле внутри ячейки.
Горизонтальное выравнивание в столбце
Горизонтальное выравнивание содержимого ячейки внутри блока ячейки задается свойством ‘text-align’.
Если свойство ‘text-align’ имеет значение <string> для нескольких ячеек в столбце, содержимое эти ячеек выравнивается относительно вертикальной оси. Начало строки соприкасается с этой осью. Расположение строки слева или справа относительно оси определяется направленностью текста.
Выравнивание текста подобным образом имеет смысл, только если текст вмещается в одну строку. Если содержимое ячейки занимает несколько строк, результат такого выравнивания не определен.
Если значением свойства ‘text-align’ для ячейки таблицы является строка, но этой строки нет в содержимом ячейки, конец содержимого ячейки соприкасается с вертикальной осью выравнивания.
Обратите внимание, что эти строки не должны быть одинаковыми для всех ячеек, хотя обычно они одинаковы.
В CSS не указывается способ указания отступа оси вертикального выравнивания относительно края блока столбца.
Согласно следующей таблице стилей:
TD { text-align: "." }
TD:before { content: "$" }
цифры, обозначающие доллары, в следующей таблице HTML:
<COL>
<TR> <TH>Плата за междугородние звонки
<TR> <TD> 1.30
<TR> <TD> 2. 50
<TR> <TD> 10.80
<TR> <TD> 111.01
<TR> <TD> 85.
<TR> <TD> 90
<TR> <TD> .05
<TR> <TD> .06
</TABLE>
будут выровнены относительно десятичной точки. Для вставки значка доллара перед каждой цифрой используется псевдоэлемент :before . Таблица может быть представлена следующим образом:
Плата за междугородние звонки
.30
.50
.80
1.01
.
$.05
$.06
Динамические эффекты строк и столбцов
Свойство ‘visibility’ для элементов строк, групп строк, столбцов и групп столбцов может принимать значение ‘collapse’. В результате вся строка или весь столбец не будет отображаться, и место, которое бы он занимал, будет доступно для размещения содержания. Такое действие не оказывает на представление таблицы другого влияния. Это позволяет динамически удалять строки или столбцы, не меняя расположения таблицы с учетом возможного изменения ограничений столбцов.
Создание таблиц в HTML | Шнайдер блог
3718 Посещений
Универсальность таблиц, а также широкий выбор параметров позволяют решать множество задач. Например, несмотря на актуальность слоев, таблица с невидимой границей может стать своего рода “модульной сеткой” для размещения тех или иных элементов.
Для добавления таблицы на страницу существует тег <table>. Он представляет собой контейнер для элементов, которые отвечают за содержимое таблицы. Строки и ячейки задаются при помощи тегов <tr> и <td>. Вместо последнего допускается использование тега <th>. В этом случае текст в ячейке будет выровнен по центру. Пример ячейки:
<html> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> |
В браузере таблица будет отображаться так:
Атрибуты тега <table>Ключевые атрибуты тега <table>:
- align — выравнивание таблицы.
Существуют следующие значения: left, right и center.
- bgcolor — цвет фона таблицы.
- border — толщина границ вокруг таблицы и между ячейками.
- cellpadding — задает расстояние между границей ячейки и содержимым.
- cellspacing — расстояние между внешними границами ячеек.
- cols — число столбцов в ячейке.
- rules — атрибут, отвечающий за то, где будут отображены границы между ячейками.
- width — ширина таблицы.
Ключевые атрибуты тега <td>:
- align — выравнивание содержимого ячейки по горизонтали. Возможны следующие “позиции”: left, right и center.
- bgcolor — цвет фона ячейки.
- colspan — количество ячеек, которые вы хотите объединить по горизонтали.
- height — высота ячеек.
- rowspan — количество ячеек, которые вы хотите объединить по вертикали.
- valign — выравнивание содержимого ячейки по вертикали. Возможны следующие “позиции”: top, middle, bottom, baseline.
- width — ширина ячейки.
Атрибут align тега <table> отвечает не только за выравнивание таблицы, но и за обтекание текстом (по аналогии с тегом <img>). Рассмотрим пример выравнивания таблицы по правому краю:
<html> |
Так таблица и текст будут выглядеть в браузере:
Объединение ячеекДля того, чтобы объединить несколько ячеек в одну используйте атрибуты colspan (объединение ячеек по горизонтали) и rowspan (объединение ячеек по вертикали) тега <td>. Прежде чем добавлять атрибуты, проверьте количество ячеек в строках. В противном случае могут возникнуть проблемы. К пример, <td colspan=»4″> объединит четыре ячейки, поэтому в следующей строки должно быть четыре тега <td>. Что произойдет, если количество ячеек в каждой строке будет разным? В этом случае в браузере будут отображаться “фантомные” ячейки. Например:
<html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>Неправильное использование colspan</title> </head> <body> <table border=»1″ cellpadding=»5″> <tr> <td colspan=»2″># 1</td> <td># 2</td> </tr> <tr> <td># 3</td> <td># 4</td> </tr> </table> </body> |
Результат в браузере:
Рассмотрим на примере, как правильно объединять ячейки:
<html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>Правильное объединение ячеек</title> <table border=»1″ cellpadding=»1″ cellspacing=»1″> <tbody> <tr> <td colspan=»3″>Статистика браузеров в 2015 году</td> </tr> <tr> <td>Crome</td> <td>Opera</td> <td>FireFox</td> </tr> <tr> <td>40. <td>9.7%</td> <td>6.1%</td> </tr> </tbody> </table> |
Результат в браузере:
ПомощьПоТаблицам — GNOME Wiki!
Разметка Таблицы
Чтобы узнать больше о возможных маркерах, смотри КакРедактировать.
Для создания таблицы поставьте в начале и конце строки маркер «||». Между этими маркерами, вы можете создать любое количество ячеек, разделяя их с помощью «||». Для получения отцентрованной ячейки с несколькими колонками, начните ячейку с более чем одного маркера ячейки. Примыкающие строки того же уровня отступа содержащие разметку таблицы объединяются в одну таблицу.
Атрибуты таблицы
Помимо повторения маркеров ячеек для получения колонок содержащих несколько других колонок, вы можете непосредственно установить много атрибутов HTML-таблицы. Любые атрибуты должны распологаться между угловыми скобками <…> непосредственно после маркера ячейки.
Вики-подобная разметка имеет следующие опции:
<-2>: colspan
<|2>: rowspan
<style=»…»> поместить информацию о стиле ячейки (td) html
<rowstyle=»…»> поместить информацию о стиле ряда (tr) html
<tablestyle=».
..»> поместить информацию о стиле таблицы (table) html
<class=»…»> поместить класс CSS в ячейку (td) html
<id=»…»> поместить id CSS в ячейку (td) html
Стилевое хозяйство — это все что нужно для настройки стиля вашей таблицы. Укажите в UserPreferences желаемый стиль в формате CSS и он будет вписан в сгенерированный HTML-тэг. Как альтернатива: расширьте CSS мойна собственными определениями и ссылайтесь на них с помощью class или id.
Мы по-прежнему поддерживаем старую разметку таблиц, но эффект достижим указанием дополнительных опций к параметру style:
<50%>: cell width (добавит width: 50%; к стилю)
<width=»50%»>: тоже самое
<tablewidth=»100%»>: ширину таблицы на 100% (сработает только в первом ряду таблицы)
<(>: выравнено влево ( добавит text-align: left; к стилю)
<:>: по центру ( добавитtext-align: center; к стилю)
<)>: в право ( добавитtext-align: right; к стилю)
<^>: вверх ( добавитvertical-align: top; к стилю)
<v>: вниз ( добавитvertical-align: bottom; к стилю)
<#XXXXXX>: цвет фона ( добавит background-color: #XXXXXX; к стилю)
<bgcolor=»#XXXXXX»> тоже самое
<rowbgcolor=»#XXXXXX»> цвет фона ряда (сработает только в первом ряду таблицы)
<tablebgcolor=»#XXXXXX»> цвет фона таблицы
Если вы используете несколько конфликтующих опций типа <(:)> — победит последняя. Нет точной опции для вертикального центрирования (middle), потому как она всегда по умолчанию.
Пример
НОВЫЙ СТИЛЬ: Общий план таблицы и HTML - подобные опции:: ||||||<tablestyle="width: 80%">'''Заголовок'''|| ||ячейка 1||ячейка 2||ячейкаl 3|| ||<rowspan=2> объединение 2 рядов||||<style="background-color: #E0E0FF;"> объединение 2 колонок|| ||<rowstyle="background-color: #FFFFE0;">ячейка 2||ячейка 3|| Ширина ячейки:: || узкая ||<style="width: 99%; text-align: center;"> широкая || Объединение рядов и колонок:: ||<|2> 2 ряда || ряд 1 || || ряд 2 || ||<-2> ряд 3 на 2 колонки || Выравнивание:: ||<style="text-align: left"> влево ||<|3> вверх ||<|3> вниз || ||<style="text-align: center;"> по центру || ||<style="text-align: right;"> вправо || Шрифты:: || обычный ||<style="font-weight: bold;"> жирный ||<style="color: #FF0000;"> красный ||<style="color: #FF0000; font-weight: bold;"> жирный || Цвета:: ||<style="background-color: red;"> красный ||<style="background-color: green;"> зеленый ||<style="background-color: blue;"> синий || СТАРЫЙ СТИЛЬ: Общий план таблицы и HTML - подобные опции:: ||||||<tablewidth="80%">'''Заголовок'''|| ||ячейка 1||ячейка 2||ячейка 3|| ||<rowspan=2> объединение рядов||||<bgcolor='#E0E0FF'> объединение на 2 колонки|| ||<rowbgcolor="#FFFFE0">ячейка 2||ячейка 3|| Ширина ячейки:: || узкая ||<:99%> широкая || Объединение рядов и колонок:: ||<|2> 2 ряда || ряд 1 || || ряд 2 || ||<-2> ряд 3 на 2 колонки || Выравнивание:: ||<(> влево ||<^|3> вверх ||<v|3> вниз || ||<:> по центру || ||<)> вправо || Цвета:: ||<#FF8080> красный ||<#80FF80> зеленый ||<#8080FF> синий ||
Отображение
- НОВЫЙ СТИЛЬ: Общий план таблицы и HTML — подобные опции
Заголовок
ячейка 1
ячейка 2
ячейкаl 3
объединение 2 рядов
объединение 2 колонок
ячейка 2
ячейка 3
- Ширина ячейки
узкая
широкая
- Объединение рядов и колонок
2 ряда
ряд 1
ряд 2
ряд 3 на 2 колонки
- Выравнивание
влево
вверх
вниз
по центру
вправо
- Шрифты
обычный
жирный
красный
жирный
- Цвета
красный
зеленый
синий
- СТАРЫЙ СТИЛЬ: Общий план таблицы и HTML — подобные опции
Заголовок
ячейка 1
ячейка 2
ячейка 3
объединение рядов
объединение на 2 колонки
ячейка 2
ячейка 3
- Ширина ячейки
узкая
широкая
- Объединение рядов и колонок
2 ряда
ряд 1
ряд 2
ряд 3 на 2 колонки
- Выравнивание
влево
вверх
вниз
по центру
вправо
- Цвета
красный
зеленый
синий
Вставка данных таблицы из других источников
HTML | ширина Атрибут
HTML |
Атрибут HTML Синтаксис: Значения атрибутов: Примечание: Атрибут ширины Пример: Выход: Поддерживаемые браузеры: Браузеры, поддерживаемые HTML Атрибут Как видите, в первом случае мы не применили никаких CSS или атрибутов. Что браузер будет делать с этой таблицей? Как видите, браузер предоставил второму столбцу намного больше места, чем первому.Теперь давайте попробуем то же самое, но с использованием атрибута В обоих случаях ваш браузер должен задавать каждому столбцу одинаковую ширину.Однако размер первой таблицы должен автоматически изменяться в соответствии с доступным пространством, а ширина второй должна быть фиксированной. Очень хорошо. Давайте посмотрим, что наш браузер делает с этой таблицей, используя CSS, а не ширину Другой атрибут, тесно связанный с шириной А вот какой у вас браузер обрабатывает эту информацию. Поскольку этот атрибут устарел, мы должны показать вам, как сделать то же самое с CSS. Вот как это сделать: Ваш браузер должен отображать этот код таким образом, который практически идентичен эффекту атрибут Честно говоря, я не уверен, зачем вам нужно контролировать высоту строки. Гораздо разумнее контролировать поля и отступы вокруг содержимого элемента Этот фрагмент CSS добавляет 80 пикселей заполнения выше и ниже каждого Таблицы ставят перед веб-разработчиками большое количество задач стилей. Чтобы узнать больше о таблицах HTML и о том, как их стилизовать, ознакомьтесь с нашим руководством по таблицам. Свойство CSS Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, клонируйте https://github. В этом примере используется фиксированный макет таблицы в сочетании со свойством Таблицы BCD загружаются только в браузере Элемент HTML Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, клонируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на перенос. Этот элемент включает глобальные атрибуты. Этот атрибут содержит краткое сокращенное описание содержимого ячейки. Некоторые пользовательские агенты, такие как программы для чтения речи, могут представлять это описание перед самим контентом. Примечание: Не используйте этот атрибут, поскольку он устарел в последнем стандарте. Кроме того, вы можете поместить сокращенное описание внутри ячейки и поместить длинное содержимое в атрибут title . Этот перечисляемый атрибут указывает, как будет обрабатываться горизонтальное выравнивание содержимого ячейки. Возможные значения: Значение по умолчанию, когда этот атрибут не указан, - Этот атрибут определяет цвет фона каждой ячейки в столбце. Это шестизначный шестнадцатеричный код RGB с префиксом Чтобы добиться аналогичного эффекта, используйте свойство CSS Для достижения аналогичного эффекта используйте свойство CSS Таблицы BCD загружаются только в браузере Каждый элемент HTML является членом одной или нескольких категорий содержимого - эти категории группируют элементы, имеющие общие характеристики. Это нечеткая группировка (на самом деле она не создает отношений между элементами этих категорий), но они помогают определить и описать общее поведение категорий и связанные с ними правила, особенно когда вы сталкиваетесь с их сложными деталями.Также возможно, чтобы элементы не входили в или из этих категорий. Есть три типа категорий контента: Примечание: Более подробное обсуждение этих категорий контента и их сравнительных функций выходит за рамки данной статьи; для этого вы можете прочитать соответствующие части спецификации HTML. Элементы, принадлежащие категории содержимого метаданных , изменяют представление или поведение остальной части документа, устанавливают ссылки на другие документы или передают другую внешнюю информацию . К этой категории относятся элементы width используется для указания ширины ячейки таблицы . Если атрибут ширины не установлен, ширина будет по умолчанию в соответствии с содержимым.
не поддерживается HTML 5.
<
html
>
<
Головка
>
<
название
>
HTML td width Атрибут
название
>
Головка
>
<
корпус
>
<
h2
> GeeksforGeeks
h2
>
<
h3
> HTML td width Attribute
h3
>
<
таблица
граница
=
"1"
ширина
=
"500"
>
<
tr
>
<
th
> НАЗВАНИЕ
th
>
<
-е
> ВОЗРАСТ
-е
>
<
th
> ФИЛИАЛ
th
>
tr
>
<
tr
>
<
td
ширина
=
"50%"
> BITTU
td
>
<
td
ширина
=
"20%"
> 22
td
>
<
td
ширина
=
"30%"
> CSE
td
>
tr
>
<
tr
>
<
td
> RAKESH
td
>
<
td
> 25
td
>
<
td
> EC
td
>
tr
>
таблица
>
корпус
>
html
>
атрибутом ширины , перечислены ниже:
Прекратите использование для установки ширины таблицы в HTML: вот почему »
Регулировка ширины столбца таблицы
width, который теперь устарел, когда-то был правильным способом регулировки ширины столбцов таблицы.
По умолчанию браузер настраивает столбцы таблицы в соответствии с содержимым таблицы. Однако, если вы хотите контролировать ширину каждого столбца, вы можете сделать это, отрегулировав ширину каждого
или
одной строки. Давайте посмотрим, как это делалось раньше с атрибутом width
, а затем посмотрим, как то же самое можно сделать теперь с помощью CSS. Но сначала нам нужна базовая линия для сравнения.
Тонкий Действительно Действительно Действительно Широкий Маленький Много-много и много-много контента, настолько много, что нам может даже понадобиться перенос строки.
Тонкий Действительно Действительно Действительно Широкий Маленький Много-много-много-много контента, настолько много, что нам может даже понадобиться разрыв строки.
width
, чтобы столбцы были одного размера.
Тонкий Действительно Действительно Действительно Широкий Маленький Много-много и много-много контента, настолько много, что нам может даже понадобиться разрыв строки.
Тонкий Действительно Действительно Действительно Широкий Маленький Много-много-много-много контента, настолько много, что нам может даже понадобиться разрыв строки. К сожалению, это также недопустимый HTML-код, так как атрибут
width
устарел. Однако мы можем сделать то же самое с помощью простого CSS.
Тонкий Действительно Действительно Действительно Широкий Маленькие Много и много-много-много контента, настолько много, что потребуется разрыв строки.
атрибут:
Thin Really Really Really Wide Little Много-много, много-много контента, настолько много, что потребуется разрыв строки. Регулируемая высота строки таблицы
, - это высота
. Этот атрибут также устарел, поэтому вам не следует его использовать, но пока мы говорим о настройке ширины столбца, мы также должны затронуть настройку высоты строки. Вот как бы вы сделали это раньше с устаревшим атрибутом:
Thin Really Really Really Wide Маленький Много-много-много-много контента, настолько много, что потребуется разрыв строки.
Тонкий Действительно Действительно Действительно Широкий Маленький Много-много, много-много контента, настолько много, что потребуется разрыв строки.
Тонкий Действительно Действительно Действительно Широкий Маленькие Много и много-много-много контента, так много, что потребуется разрыв строки. ширины
. Посмотрим, есть ли это:
Thin Really Really Really Wide Little Много-много-много-много контента, так много, что он будет требуется разрыв строки.
и позволить браузеру автоматически устанавливать высоту строки на основе этой информации.Вот как можно применить эту стратегию:
Тонкий Действительно Действительно Действительно Широкий Маленькие Много и много-много-много контента, настолько много, что потребуется разрыв строки.
элемент и 10 пикселей заполнения слева и справа от каждого элемента
. Вот результат: .tall-row td {padding: 80px 10px;}
Thin Really Really Really Wide Little Много-много-много-много контента, настолько много, что для этого потребуется разрыв строки. Подробнее о таблицах стилей
table-layout - CSS: каскадные таблицы стилей
table-layout
устанавливает алгоритм, используемый для компоновки
ячеек, строк и столбцов.
com/mdn/interactive-examples и отправьте нам запрос на перенос.
сервировка стола: авто;
table-layout: фиксированный;
макет таблицы: наследовать;
сервировка стола: начальная;
table-layout: не задано;
Значения
авто
фиксированный
table
и col
или шириной первой строки ячеек. Ячейки в последующих строках не влияют на ширину столбцов. overflow
, чтобы определить, нужно ли вырезать переполненное содержимое, но только если таблица имеет известную ширину; в противном случае они не переполняют ячейки.
Таблицы фиксированной ширины с переполнением текста
width
для ограничения ширины таблицы. Свойство переполнение текста
используется для применения многоточия к словам, длина которых слишком велика. Если бы макет таблицы был , авто
, таблица увеличилась бы для размещения своего содержимого, несмотря на указанную ширину
. HTML
<таблица>
Ed Дерево Альберт Швайцер Джейн Fonda Уильям Шекспир CSS
таблица {
table-layout: фиксированный;
ширина: 120 пикселей;
граница: сплошной красный 1px;
}
td {
граница: 1 пиксель сплошного синего цвета;
переполнение: скрыто;
белое пространство: nowrap;
переполнение текста: многоточие;
}
Результат
: Элемент ячейки данных таблицы - HTML: язык разметки гипертекста
определяет ячейку таблицы, содержащую данные. Участвует в настольной модели .
Категории содержимого
Разделение корня.
Разрешенное содержание
Содержание потока.
Отсутствие тега
Начальный тег является обязательным.
Конечный тег может быть опущен, если за ним сразу следует элемент
или
или если в его родительском элементе больше нет данных.
Допущенные родители
Элемент
.
Неявная роль ARIA
ячейка
, если потомок элемента
Разрешенные роли ARIA
Любая
Интерфейс DOM
HTMLTableCellElement
colspan
1
. Значения выше 1000 будут считаться неправильными и будут установлены на значение по умолчанию (1).
, которые применяются к этому элементу.
пролет между рядами
1
; если его значение установлено на 0
, оно продолжается до конца раздела таблицы ( ,
,
, даже если оно определено неявно), которому принадлежит ячейка. Значения выше 65534 сокращаются до 65534.
Устаревшие атрибуты
abbr
Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать. align
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать.
слева
: содержимое выравнивается по левому краю ячейки.
центр
: содержимое центрируется в ячейке. справа
: содержимое выравнивается по правому краю ячейки. по ширине
(только с текстом): содержимое растягивается внутри ячейки так, чтобы покрыть всю ее ширину. char
(только с текстом): содержимое выравнивается по символу внутри элемента
с минимальным смещением. Этот символ определяется атрибутами char
и charoff
Не реализовано (см. Ошибку 2212).
слева
.
слева
, по центру
, справа
или выровняйте значения
, примените к элементу свойство text-align
CSS. char
, присвойте свойству text-align
то же значение, которое вы использовали бы для char
. Не реализовано в CSS3.
ось
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать. id
группы ячеек, к которой применяется этот заголовок. bgcolor
Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать. #
. Также можно использовать одно из предопределенных цветовых словечек. background-color
. char
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать. Типичные значения включают точку (.) Для выравнивания чисел или денежных значений. Если для
align
не задано значение char
, этот атрибут игнорируется. charoff
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать. height
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать. height
. scope
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать.
). Используйте этот атрибут только с элементом
, чтобы определить строку или столбец, для которых он является заголовком.
valign
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать.
базовая линия
: текст размещается в нижней части ячейки и выравнивается по базовой линии символов, а не по нижней части. Если символы не опускаются ниже базовой линии, значение базовой линии дает тот же эффект, что и нижний . внизу
: размещает текст в нижней части ячейки. по центру
: центрирует текст в ячейке. вверху
: текст размещается в верхней части ячейки. vertical-align
. width
Этот устаревший API больше не должен использоваться, но, вероятно, будет работать.
width
. Категории содержимого - руководства разработчика
Содержимое метаданных
. Это устаревший API, работа которого больше не гарантируется. <команда>
, <ссылка>
,
,
,