What Is CSS border-collapse: collapse?
The border-collapse: collapse property in CSS is used to
merge adjacent table cell borders into a single, shared border,
eliminating the default gaps between them. In standard HTML rendering,
tables display borders with distinct spaces separating individual cells,
often resulting in a visually cluttered, "double-border" appearance.
This article explains how the property works, why it is critical for
clean tabular data design, and how browsers resolve border style
conflicts when cells share a single edge.
The Default Behavior: Separated Borders
By default, web browsers apply border-collapse: separate
to HTML tables. Under this model, each table cell
(<td> and <th>) maintains its own
independent border. The space between these borders is controlled by the
border-spacing property. While this can be useful for
card-style layouts or grid displays that require gaps, it often creates
distracting double lines when attempting to draw simple grids for
structured data.
How
border-collapse: collapse Works
Applying border-collapse: collapse directly to the
<table> element changes the rendering model
entirely:
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #ccc;
padding: 8px;
}When this property is enabled:
- Adjacent borders fuse into a single line rather than two parallel lines.
- The
border-spacingproperty is ignored. - The
empty-cellsproperty is ignored; borders are rendered regardless of whether a cell contains content.
Border Conflict Resolution
Because adjacent cells share a single border in the collapsed model, conflicts can arise if neighboring elements define different border widths, styles, or colors. Browsers resolve these conflicts using standardized priority rules:
border-style: hidden: Trumps all other borders; no border will be drawn at that edge.border-style: none: Has the lowest priority; any defined border will override it.- Border Width: The wider border takes precedence over narrower ones.
- Border Style: If widths are identical, styles are
prioritized in this order:
double,solid,dashed,dotted,ridge,outset,groove, andinset. - Element Hierarchy: If width and style are
identical, priority follows structural specificity: cell
(
<td>/<th>), row (<tr>), row group (<tbody>/<thead>/<tfoot>), column (<col>), column group (<colgroup>), and finally table (<table>).
Benefits in Tabular Data Presentation
Using border-collapse: collapse is a standard best
practice for data tables because it:
- Reduces Visual Clutter: Removing redundant borders lets users focus on reading numbers and text.
- Ensures Alignment: Eliminates spacing discrepancies, ensuring cell edges line up precisely.
- Creates Standard Gridlines: Simplifies the creation of subtle horizontal dividers or full data grids with uniform border thickness.