此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。
<colgroup>:表格欄群組元素
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
<colgroup> HTML 中定義表格內的一組欄的元素。
嘗試一下
<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;
}
屬性
此元素包含全域屬性。
已棄用屬性
以下屬性已棄用,不應使用。此處僅將其記錄,以供更新現有代碼和僅供歷史興趣時參考。
align已棄用-
指定每個欄群組儲存格的水平對齊方式。可能的 enumerated 值包括
left、center、right、justify和char。當支援時,char值將文字內容對齊到char屬性中定義的字元和charoff屬性中定義的偏移。請注意,後代<col>元素可能會使用其自己的align屬性覆蓋此值。請改用text-alignCSS 屬性應用於<td>和<th>元素,因為此屬性已棄用。備註: 在
<colgroup>元素上設置text-align沒有效果,因為<td>和<th>元素不是<colgroup>元素的後代,因此不會繼承該屬性。如果表格不使用
colspan屬性,可以使用td:nth-of-type(an+b)CSS 選擇器進行每欄的對齊,其中a是表格中欄的總數,b是欄在表格中的序位位置,例如td:nth-of-type(7n+2) { text-align: right; }以使第二欄儲存格向右對齊。如果表格使用了
colspan屬性,可以通過組合適當的 CSS 屬性選擇器來達到效果,例如像[colspan=n],儘管這並不簡單。 bgcolor已棄用-
定義每個欄群組儲存格的背景顏色。該值是一個 HTML 顏色;可以是 6 位十六進制 RGB 碼,前綴為「
#」,或者是一個顏色關鍵字。不支援其他 CSS<color>值。請改用background-colorCSS 屬性,因為此屬性已棄用。 char已棄用-
指定每個欄群組儲存格內容與字符的對齊方式。這個屬性的典型值包括當試圖對齊數字或貨幣值時使用的句點(
.)。如果align未設置為char,則忽略此屬性,但它仍將作為屬於此欄群組的<col>元素的align的默認值使用。 charoff已棄用-
指定要從
char屬性指定的對齊字符偏移的字符數。 valign已棄用-
指定每個欄群組儲存格的垂直對齊方式。可能的列舉值包括
baseline、bottom、middle和top。請注意,後代<col>元素可能會使用其自己的valign屬性覆蓋此值。請改用vertical-alignCSS 屬性應用於<td>和<th>元素,因為此屬性已棄用。備註: 在
<colgroup>元素上設置vertical-align沒有效果,因為<td>和<th>元素不是<colgroup>元素的後代,因此不會繼承該屬性。如果表格不使用
colspan屬性,可以使用td:nth-of-type()CSS 選擇器進行每欄的對齊,例如td:nth-of-type(2) { vertical-align: middle; }使第二欄儲存格垂直居中。如果表格使用了
colspan屬性,可以通過組合適當的 CSS 屬性選擇器來達到效果,例如像[colspan=n],儘管這並不簡單。 width已棄用-
指定當前欄群組中每個欄的默認寬度。除了標準的像素和百分比值外,此屬性還可以採用特殊形式
0*,表示每個跨越的欄的寬度應該是容納欄內容所需的最小寬度。也可以使用相對寬度,如5*。請注意,後代<col>元素可能會使用其自己的width屬性覆蓋此值。請改用widthCSS屬性,因為此屬性已棄用。
使用說明
<colgroup>應該出現在<table>內,位於任何<caption>元素之後(如果使用),但位於任何<thead>、<tbody>、<tfoot>和<tr>元素之前。- 只有有限數量的 CSS 屬性影響
<colgroup>:background:各種background屬性將為欄群組內的儲存格設置背景。由於欄群組的背景顏色是繪製在表格上方,但在背景顏色應用到欄(<col>)、行群組(<thead>、<tbody>和<tfoot>)、行(<tr>)和個別儲存格(<th>和<td>)之後,只有當所有位於其上的層都有透明背景時,表格欄群組的背景才可見。border:各種border屬性適用,但僅當<table>具有border-collapse: collapse設置時。visibility:對於欄群組,collapse值導致該欄群組中所有欄的儲存格都不呈現,並且跨越到其他欄的儲存格會被剪切。這些欄在欄群組中原本佔用的空間將被移除。但是,仍會根據存在於欄群組中折疊的欄中的儲存格來計算其他欄的大小。visibility的其他值沒有效果。width:width屬性定義了欄群組內欄的最小寬度,就好像設置了min-width一樣。
範例
請參見 <table> 以查看一個完整的表格範例,介紹常見的標準和最佳實踐。
此範例演示了一個分成兩個 <colgroup> 元素的七欄表格,跨越多個欄。
HTML
使用兩個 <colgroup> 元素來結構化一個基本表格,創建欄群組。每個欄群組中的欄數由 span 屬性指定。
<table>
<caption>
Personal weekly activities
</caption>
<colgroup span="5" class="weekdays"></colgroup>
<colgroup span="2" class="weekend"></colgroup>
<tr>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
<th>Sun</th>
</tr>
<tr>
<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>
<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 中視覺上突出顯示結構:
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;
}
table {
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
結果
技術摘要
| 內容類型 | 無。 |
|---|---|
| 允許的內容 |
如果存在 span 屬性:無。如果未指定該屬性:零個或多個 <col> 元素。
|
| 標籤省略 |
如果具有 <col> 元素作為其第一個子元素,並且未在其前面有被省略的 <colgroup> 結束標籤,則可以省略開始標籤。如果未在其後跟隨空格或註釋,則可以省略結束標籤。 |
| 允許的父元素 |
一個 <table> 元素。<colgroup> 必須出現在任何 <caption> 元素之後,但在任何 <thead>、<tbody>、<tfoot> 和 <tr> 元素之前。
|
| 隱含的 ARIA 角色 | 沒有相對應的角色 |
| 允許的 ARIA 角色 | 不允許 role |
| DOM 介面 | HTMLTableColElement |
規範
| Specification |
|---|
| HTML> # the-colgroup-element> |
瀏覽器相容性
Loading...
參見
- 學習:HTML 表格
<caption>、<col>、<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 偽類來選擇所需的欄儲存格