<col>: 表格列元素
Baseline 广泛可用 *
<col> HTML 元素定义了由其父元素 <colgroup> 表示的一个或多个列组中的列。 <col> 元素只能作为没有定义 span 属性的 <colgroup> 元素的子元素。
试一试
<table>
<caption>
Superheros and sidekicks
</caption>
<colgroup>
<col />
<col span="2" class="batman" />
<col span="2" class="flash" />
</colgroup>
<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>
<tr>
<th scope="row">Skill</th>
<td>Smarts, strong</td>
<td>Dex, acrobat</td>
<td>Super speed</td>
<td>Super speed</td>
</tr>
</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属性定义的偏移量对文本内容进行对齐。请注意,此属性会覆盖其<colgroup>父元素中指定的align。请改用<td>和<th>元素上的text-alignCSS 属性,因为此属性已弃用。 bgcolor已弃用-
定义每个列单元格的背景颜色。该值为 HTML 颜色;可以是前缀为
#的6 位十六进制 RGB 代码,也可以是颜色关键字。不支持其他 CSS<color>值。请改用background-colorCSS 属性,因为此属性已弃用。 char已弃用-
不执行任何操作。它最初旨在指定每个列单元格内容对齐到某个字符。典型的值包括句点 (
.),当尝试对齐数字或货币值时。如果align未设置为char,则此属性将被忽略,尽管它仍会覆盖其<colgroup>父元素中指定的char。 charoff已弃用-
不执行任何操作。它最初旨在指定列单元格内容与
char属性指定的对齐字符之间的偏移字符数。 valign已弃用-
指定每个列单元格的垂直对齐方式。可能的枚举值为
baseline、bottom、middle和top。请注意,此属性会覆盖其<colgroup>父元素中指定的valign。请改用<td>和<th>元素上的vertical-alignCSS 属性,因为此属性已弃用。 width已弃用-
指定每列的默认宽度。除了标准的像素和百分比值外,此属性还可以采用特殊形式
0*,这意味着每个跨越的列的宽度应为容纳列内容所需的最小宽度。也可以使用相对宽度,例如5*。请注意,此属性会覆盖其<colgroup>父元素中指定的width。请改用widthCSS 属性,因为此属性已弃用。
用法说明
<col>元素用于不带span属性的<colgroup>元素中。<col>元素不会在结构上将列组合在一起。这是<colgroup>元素的职责。- 只有有限数量的 CSS 属性会影响
<col>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> 元素为基本表格提供了结构,创建了一个隐式列组。三个 <col> 元素包含在 <colgroup> 中,创建了三个可样式化的列。span 属性指定每个 <col> 应跨越的表格列数(省略时默认为 1),从而使属性能够在每个 <col> 中的列之间共享。
<table>
<caption>
Personal weekly activities
</caption>
<colgroup>
<col />
<col span="5" class="weekdays" />
<col span="2" class="weekend" />
</colgroup>
<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>
<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>
</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 |
浏览器兼容性
加载中…
另见
<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 伪类,用于选择所需的列单元格