<col>: Phần tử Cột Bảng
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Phần tử <col> trong HTML định nghĩa một hoặc nhiều cột trong nhóm cột được biểu diễn bởi phần tử <colgroup> cha của nó. Phần tử <col> chỉ hợp lệ khi là con của phần tử <colgroup> không có thuộc tính span được định nghĩa.
Try it
<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;
}
Thuộc tính
Phần tử này bao gồm các thuộc tính toàn cục.
span-
Xác định số cột liên tiếp mà phần tử
<col>trải rộng. Giá trị phải là một số nguyên dương lớn hơn không. Nếu không có, giá trị mặc định là1.
Thuộc tính không còn dùng
Các thuộc tính sau đây đã không còn được dùng và không nên sử dụng. Chúng được ghi lại dưới đây để tham khảo khi cập nhật code hiện có và chỉ vì lý do lịch sử.
alignDeprecated-
Xác định căn chỉnh ngang của mỗi ô cột. Các giá trị enumerated có thể là
left,center,right,justifyvàchar. Khi được hỗ trợ, giá trịcharcăn chỉnh nội dung văn bản theo ký tự được định nghĩa trong thuộc tínhcharvà độ lệch được định nghĩa bởi thuộc tínhcharoff. Lưu ý rằng thuộc tính này ghi đèalignđược chỉ định của phần tử cha<colgroup>. Thay vào đó hãy sử dụng thuộc tính CSStext-aligntrên các phần tử<td>và<th>, vì thuộc tính này đã không còn được dùng.Note: Đặt
text-aligntrên phần tử<col>không có hiệu lực vì<col>không có phần tử con, do đó không có phần tử nào kế thừa từ nó.Nếu bảng không sử dụng thuộc tính
colspan, hãy dùng selector CSStd:nth-of-type(an+b). Đặtabằng không vàbbằng vị trí của cột trong bảng, ví dụtd:nth-of-type(2) { text-align: right; }để căn phải các ô của cột thứ hai.Nếu bảng có sử dụng thuộc tính
colspan, hiệu ứng có thể đạt được bằng cách kết hợp các selector thuộc tính CSS phù hợp như[colspan=n], mặc dù điều này không đơn giản. bgcolorDeprecated-
Xác định màu nền của mỗi ô cột. Giá trị là màu HTML; có thể là mã RGB thập lục phân 6 chữ số, có tiền tố
#, hoặc một từ khóa màu. Các giá trị CSS<color>khác không được hỗ trợ. Thay vào đó hãy sử dụng thuộc tính CSSbackground-color, vì thuộc tính này đã không còn được dùng. charDeprecated-
Không có tác dụng. Ban đầu được dùng để xác định căn chỉnh nội dung theo một ký tự của mỗi ô cột. Các giá trị điển hình bao gồm dấu chấm (
.) khi muốn căn chỉnh số hoặc giá trị tiền tệ. Nếualignkhông được đặt thànhchar, thuộc tính này bị bỏ qua, mặc dù nó vẫn ghi đècharđược chỉ định của phần tử cha<colgroup>. charoffDeprecated-
Không có tác dụng. Ban đầu được dùng để xác định số ký tự để bù đầu nội dung ô cột từ ký tự căn chỉnh được xác định bởi thuộc tính
char. valignDeprecated-
Xác định căn chỉnh dọc của mỗi ô cột. Các giá trị enumerated có thể là
baseline,bottom,middlevàtop. Lưu ý rằng thuộc tính này ghi đèvalignđược chỉ định của phần tử cha<colgroup>. Thay vào đó hãy sử dụng thuộc tính CSSvertical-aligntrên các phần tử<td>và<th>, vì thuộc tính này đã không còn được dùng.Note: Đặt
vertical-aligntrên phần tử<col>không có hiệu lực vì<col>không có phần tử con, do đó không có phần tử nào kế thừa từ nó.Nếu bảng không sử dụng thuộc tính
colspan, hãy dùng selector CSStd:nth-of-type(an+b). Đặtabằng không vàbbằng vị trí của cột trong bảng, ví dụtd:nth-of-type(2) { vertical-align: middle; }để căn giữa dọc các ô của cột thứ hai.Nếu bảng có sử dụng thuộc tính
colspan, hiệu ứng có thể đạt được bằng cách kết hợp các selector thuộc tính CSS phù hợp như[colspan=n], mặc dù điều này không đơn giản. widthDeprecated-
Xác định chiều rộng mặc định cho mỗi cột. Ngoài các giá trị pixel và phần trăm tiêu chuẩn, thuộc tính này có thể nhận dạng đặc biệt
0*, có nghĩa là chiều rộng của mỗi cột được trải rộng sẽ là chiều rộng tối thiểu cần thiết để chứa nội dung của cột. Chiều rộng tương đối như5*cũng có thể được sử dụng. Lưu ý rằng thuộc tính này ghi đèwidthđược chỉ định của phần tử cha<colgroup>. Thay vào đó hãy sử dụng thuộc tính CSSwidth, vì thuộc tính này đã không còn được dùng.
Ghi chú sử dụng
- Phần tử
<col>được sử dụng trong phần tử<colgroup>không có thuộc tínhspan. - Các phần tử
<col>không nhóm cấu trúc các cột lại với nhau. Đây là vai trò của phần tử<colgroup>. - Chỉ một số lượng hạn chế các thuộc tính CSS ảnh hưởng đến
<col>:background: Các thuộc tínhbackgroundkhác nhau sẽ đặt nền cho các ô trong cột. Vì màu nền cột được vẽ lên trên bảng và nhóm cột (<colgroup>), nhưng phía sau màu nền áp dụng cho nhóm hàng (<thead>,<tbody>và<tfoot>), các hàng (<tr>) và các ô riêng lẻ (<th>và<td>), nền áp dụng cho cột bảng chỉ hiển thị nếu mọi lớp vẽ lên trên chúng có nền trong suốt.border: Các thuộc tínhborderkhác nhau được áp dụng, nhưng chỉ khi<table>cóborder-collapse: collapseđược đặt.visibility: Giá trịcollapsecho một cột dẫn đến tất cả các ô của cột đó không được hiển thị, và các ô trải sang các cột khác bị cắt. Không gian mà các cột này chiếm sẽ bị xóa. Tuy nhiên, kích thước của các cột khác vẫn được tính như thể các ô trong cột (các cột) bị thu gọn vẫn còn. Các giá trị khác chovisibilitykhông có hiệu lực.width: Thuộc tínhwidthđịnh nghĩa chiều rộng tối thiểu cho cột, như thểmin-widthđược đặt.
Ví dụ
Xem <table> để biết ví dụ bảng đầy đủ giới thiệu các chuẩn và thực hành phổ biến.
Ví dụ này minh họa một bảng tám cột được chia thành ba phần tử <col>.
HTML
Phần tử <colgroup> cung cấp cấu trúc cho một bảng cơ bản, tạo ra một nhóm cột ngầm định duy nhất. Ba phần tử <col> được bao gồm trong <colgroup>, tạo ra ba cột có thể tạo kiểu. Thuộc tính span xác định số cột bảng mà mỗi <col> nên trải rộng (mặc định là 1 khi bị bỏ qua), cho phép các thuộc tính được chia sẻ trên các cột trong mỗi <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
Chúng ta sử dụng CSS, thay vì các thuộc tính HTML không còn dùng, để cung cấp màu nền cho các cột và căn chỉnh nội dung ô:
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;
}
Kết quả
Tóm tắt kỹ thuật
| Danh mục nội dung | Không có. |
|---|---|
| Nội dung được phép | Không có; đây là void element. |
| Bỏ qua thẻ | Phải có thẻ mở và không được có thẻ đóng. |
| Phần tử cha được phép |
Chỉ <colgroup>, mặc dù nó có thể được định nghĩa ngầm vì thẻ mở của nó không bắt buộc. <colgroup> không được có thuộc tính
span.
|
| Vai trò ARIA ngầm định | Không có vai trò tương ứng |
| Vai trò ARIA được phép | Không có role nào được phép |
| Giao diện DOM | HTMLTableColElement |
Đặc tả
| Specification |
|---|
| HTML> # the-col-element> |
Tương thích trình duyệt
Xem thêm
<caption>,<colgroup>,<table>,<tbody>,<td>,<tfoot>,<th>,<thead>,<tr>: Các phần tử liên quan đến bảng khácbackground-color: Thuộc tính CSS để đặt màu nền của mỗi ô cộtborder: Thuộc tính CSS để kiểm soát đường viền của các ô cộttext-align: Thuộc tính CSS để căn chỉnh ngang nội dung mỗi ô cộtvertical-align: Thuộc tính CSS để căn chỉnh dọc nội dung mỗi ô cộtvisibility: Thuộc tính CSS để ẩn các ô của một cộtwidth: Thuộc tính CSS để kiểm soát chiều rộng mặc định cho mỗi cột:nth-of-type,:first-of-type,:last-of-type: Các pseudo-class CSS để chọn các ô cột mong muốn