<col> Элемент столбца таблицы HTML
Baseline Широко доступно *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна в браузерах с июля 2015 года.
* Некоторые части этой функции могут поддерживаться в разной степени.
Элемент <col> HTML определяет один или несколько столбцов в группе столбцов, представленной родительским элементом <colgroup>. Элемент <col> допустим только в качестве дочернего элемента <colgroup>, у которого не задан атрибут span.
Попробуйте
<table>
<caption>
Superheros and sidekicks
</caption>
<colgroup>
<col />
<col span="2" class="batman" />
<col span="2" class="flash" />
</colgroup>
<thead>
<tr>
<td></td>
<th scope="col">Batman</th>
<th scope="col">Robin</th>
<th scope="col">The Flash</th>
<th scope="col">Kid Flash</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Skill</th>
<td>Smarts, strong</td>
<td>Dex, acrobat</td>
<td>Super speed</td>
<td>Super speed</td>
</tr>
</tbody>
</table>
.batman {
background-color: #d7d9f2;
}
.flash {
background-color: #ffe8d4;
}
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
caption {
caption-side: bottom;
padding: 10px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 6px;
}
td {
text-align: center;
}
Атрибуты
Этот элемент включает глобальные атрибуты.
span-
Указывает количество последовательных столбцов, охватываемых элементом
<col>. Значение должно быть положительным целым числом больше нуля. Если атрибут не указан, его значение по умолчанию —1.
Устаревшие атрибуты
Следующие атрибуты устарели и не должны использоваться. Они описаны ниже только для справки при обновлении существующего кода и из исторического интереса.
align-
Задаёт горизонтальное выравнивание ячеек каждого столбца. Возможные перечисляемые значения:
left,center,right,justifyиchar. Если поддерживается, значениеcharвыравнивает текстовое содержимое по символу, заданному атрибутомchar, и со смещением, заданным атрибутомcharoff. Обратите внимание, что этот атрибут переопределяет заданный атрибутalignродительского элемента<colgroup>. Вместо этого используйте CSS-свойствоtext-alignдля элементов<td>и<th>, поскольку этот атрибут устарел.Примечание: Задание
text-alignдля элемента<col>не оказывает эффекта, поскольку у<col>нет потомков, а значит, ни один элемент не наследует от него это значение.Если в таблице не используется атрибут
colspan, используйте CSS-селекторtd:nth-of-type(an+b). Задайтеaравным нулю, аb— позиции столбца в таблице, например,td:nth-of-type(2) { text-align: right; }для выравнивания ячеек второго столбца по правому краю.Если в таблице используется атрибут
colspan, нужного эффекта можно добиться, комбинируя подходящие CSS-селекторы атрибутов, например[colspan=n], хотя это непросто. bgcolor-
Задаёт цвет фона ячеек каждого столбца. Значение должно быть цветом HTML: либо шестизначным шестнадцатеричным кодом RGB с префиксом
#, либо ключевым словом цвета. Другие значения<color>CSS не поддерживаются. Вместо этого используйте CSS-свойствоbackground-color, поскольку этот атрибут устарел. char-
Не оказывает эффекта. Изначально атрибут предназначался для задания выравнивания содержимого по символу в ячейках каждого столбца. Обычно в качестве такого символа используется точка (
.) при выравнивании чисел или денежных значений. Если дляalignзадано значение, отличное отchar, этот атрибут игнорируется, хотя он всё равно переопределяет заданный атрибутcharродительского элемента<colgroup>. charoff-
Не оказывает эффекта. Изначально атрибут предназначался для задания количества символов, на которое нужно сместить содержимое ячейки столбца относительно символа выравнивания, заданного атрибутом
char. valign-
Задаёт вертикальное выравнивание ячеек каждого столбца. Возможные перечисляемые значения:
baseline,bottom,middleиtop. Обратите внимание, что этот атрибут переопределяет заданный атрибутvalignродительского элемента<colgroup>. Вместо этого используйте CSS-свойствоvertical-alignдля элементов<td>и<th>, поскольку этот атрибут устарел.Примечание: Задание
vertical-alignдля элемента<col>не оказывает эффекта, поскольку у<col>нет потомков, а значит, ни один элемент не наследует от него это значение.Если в таблице не используется атрибут
colspan, используйте CSS-селекторtd:nth-of-type(an+b). Задайтеaравным нулю, аb— позиции столбца в таблице, например,td:nth-of-type(2) { vertical-align: middle; }для вертикального выравнивания ячеек второго столбца по центру.Если в таблице используется атрибут
colspan, нужного эффекта можно добиться, комбинируя подходящие CSS-селекторы атрибутов, например[colspan=n], хотя это непросто. width-
Задаёт ширину по умолчанию для каждого столбца. Помимо стандартных значений в пикселях и процентах, этот атрибут может принимать специальную форму
0*, означающую, что ширина каждого охватываемого столбца должна быть минимальной, необходимой для размещения его содержимого. Также можно использовать относительную ширину, например5*. Обратите внимание, что этот атрибут переопределяет заданный атрибутwidthродительского элемента<colgroup>. Вместо этого используйте CSS-свойствоwidth, поскольку этот атрибут устарел.
Примечания по использованию
- Элемент
<col>используется внутри элемента<colgroup>, у которого нет атрибутаspan. - Элементы
<col>не объединяют столбцы в структурные группы. Эту роль выполняет элемент<colgroup>. - На
<col>влияют только некоторые свойства CSS:-
background: различные свойстваbackgroundзадают фон ячеек внутри столбца. Фон столбца отображается поверх таблицы и групп столбцов (<colgroup>), но позади цветов фона, заданных для групп строк (<thead>,<tbody>и<tfoot>), строк (<tr>) и отдельных ячеек (<th>и<td>). Поэтому фоны столбцов таблицы видны только в том случае, если фон каждого расположенного поверх них слоя прозрачен. -
border: применяются различные свойстваborder, но только если для<table>задано значениеborder-collapse: collapse. -
visibility: значениеcollapseдля столбца приводит к тому, что все ячейки этого столбца не отображаются, а ячейки, охватывающие другие столбцы, обрезаются. Пространство, которое занимали бы эти столбцы, удаляется. Однако размеры остальных столбцов по-прежнему рассчитываются так, как если бы ячейки в свёрнутых столбцах присутствовали. Другие значенияvisibilityне оказывают эффекта. -
width: свойствоwidthзадаёт минимальную ширину столбца, как если бы было заданоmin-width.
-
Пример
Полный пример таблицы с описанием общепринятых стандартов и рекомендаций см. в разделе <table>.
В этом примере показана таблица из восьми столбцов, разделённых на три элемента <col>.
HTML
Элемент <colgroup> задаёт структуру простой таблицы, создавая одну неявную группу столбцов. Внутри элемента <colgroup> размещены три элемента <col>, создающие три столбца, к которым можно применить стили. Атрибут span указывает количество столбцов таблицы, охватываемых каждым элементом <col> (если атрибут не указан, используется значение 1), позволяя задавать общие атрибуты для столбцов в каждой группе <col>.
<table>
<caption>
Personal weekly activities
</caption>
<colgroup>
<col />
<col span="5" class="weekdays" />
<col span="2" class="weekend" />
</colgroup>
<thead>
<tr>
<th>Period</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
<th>Sun</th>
</tr>
</thead>
<tbody>
<tr>
<th>a.m.</th>
<td>Clean room</td>
<td>Football training</td>
<td>Dance Course</td>
<td>History Class</td>
<td>Buy drinks</td>
<td>Study hour</td>
<td>Free time</td>
</tr>
<tr>
<th>p.m.</th>
<td>Yoga</td>
<td>Chess Club</td>
<td>Meet friends</td>
<td>Gymnastics</td>
<td>Birthday party</td>
<td>Fishing trip</td>
<td>Free time</td>
</tr>
</tbody>
</table>
CSS
Для задания цвета фона столбцов и выравнивания содержимого ячеек мы используем CSS вместо устаревших атрибутов HTML:
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
}
caption {
caption-side: bottom;
padding: 10px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 6px;
text-align: center;
}
.weekdays {
background-color: #d7d9f2;
}
.weekend {
background-color: #ffe8d4;
}
Результат
Техническая сводка
| Категории содержимого | Нет. |
|---|---|
| Допустимое содержимое | Нет; это пустой элемент. |
| Опускание тегов | Обязателен открывающий тег; закрывающий тег запрещён. |
| Допустимые родительские элементы | Только <colgroup>, хотя он может быть определён неявно, поскольку открывающий тег не является обязательным. У элемента <colgroup> не должно быть атрибута span. |
| Неявная роль ARIA | Соответствующая роль отсутствует |
| Допустимые роли ARIA | Роли role не допускаются |
| Интерфейс DOM | HTMLTableColElement |
Спецификации
| Спецификация |
|---|
| HTML> # the-col-element> |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
col |
1 | 12 | 1 | 15 | ≤4 | 18 | 4 | 14 | ≤3.2 | 1.0 | 4.4 | ≤3.2 |
align |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
char |
НетНачиная с Chrome 1 атрибут можно задать, но он не оказывает эффекта. |
12–79Начиная с Edge 79 атрибут можно задать, но он не оказывает эффекта. |
Нет | НетНачиная с Opera 15 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Safari 3 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Chrome Android 18 атрибут можно задать, но он не оказывает эффекта. |
Нет | НетНачиная с Opera Android 14 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Safari на iOS 2 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Samsung Internet 1.0 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с WebView Android 4.4 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с WebView на iOS 2 атрибут можно задать, но он не оказывает эффекта. |
charoff |
НетНачиная с Chrome 1 атрибут можно задать, но он не оказывает эффекта. |
12–79Начиная с Edge 79 атрибут можно задать, но он не оказывает эффекта. |
Нет | НетНачиная с Opera 15 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Safari 3 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Chrome Android 18 атрибут можно задать, но он не оказывает эффекта. |
Нет | НетНачиная с Opera Android 14 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Safari на iOS 2 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с Samsung Internet 1.0 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с WebView Android 4.4 атрибут можно задать, но он не оказывает эффекта. |
НетНачиная с WebView на iOS 2 атрибут можно задать, но он не оказывает эффекта. |
span |
1 | 12 | 1 | 15 | ≤4 | 18 | 4 | 14 | ≤3.2 | 1.0 | 4.4 | ≤3.2 |
valign |
1 | 12 | 1 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 | 2 |
width |
1 | 12 | 1 | 15 | ≤4 | 18 | 4 | 14 | ≤3.2 | 1.0 | 4.4 | ≤3.2 |
См. также
-
<caption>,<colgroup>,<table>,<tbody>,<td>,<tfoot>,<th>,<thead>,<tr>: другие элементы, связанные с таблицами -
background-color: CSS-свойство для задания цвета фона ячеек каждого столбца -
border: CSS-свойство для управления границами ячеек столбцов -
text-align: CSS-свойство для горизонтального выравнивания содержимого ячеек каждого столбца -
vertical-align: CSS-свойство для вертикального выравнивания содержимого ячеек каждого столбца -
visibility: CSS-свойство для скрытия ячеек столбца -
width: CSS-свойство для управления шириной каждого столбца по умолчанию -
:nth-of-type,:first-of-type,:last-of-type: псевдоклассы CSS для выбора нужных ячеек столбцов
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/col