Codectionary / Developer documentation / HTML

<col> and <colgroup>

The <colgroup> element groups one or more columns in a table for the purpose of applying styles, and <col> represents a single column within that group. This lets you style an entire column — like setting a background color or width — without adding a class to every individual cell in that column.

Syntax

<table>
  <colgroup>
    <col style="background: #f3f4f6;">
    <col span="2">
  </colgroup>
  <!-- table rows -->
</table>

Examples

Styling a Single Column

Highlighting one column across every row.

<table>
  <colgroup>
    <col style="background: #fef3c7;">
    <col>
    <col>
  </colgroup>
  <tr><th>Name</th><th>Role</th><th>Status</th></tr>
  <tr><td>Alice</td><td>Dev</td><td>Active</td></tr>
</table>

Spanning Multiple Columns

Using the span attribute to apply a style across several columns at once.

<table>
  <colgroup>
    <col span="2" style="background: #e0f2fe;">
    <col>
  </colgroup>
  <tr><th>Q1</th><th>Q2</th><th>Q3</th></tr>
</table>

Attributes

  • span (number): The number of columns the col/colgroup applies to

Best practices

  • Use colgroup/col only for column-level styling like width or background, not for content
  • Place colgroup immediately after the opening table tag, before thead/tbody
  • For most styling needs, targeting cells directly with CSS (nth-child) is more flexible than col
  • col elements are void (self-closing) and take no content

At a glance

Purpose
Structure and meaning for web content
File extension
.html · .htm
Runs in
Web browsers
Usually used with
CSS and JavaScript

Specifications & further reading

Related HTML documentation