empty-cells

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.

The empty-cells CSS property sets whether borders and backgrounds appear around <table> cells that have no visible content.

Try it

This property has an effect only when the border-collapse property is separate.

Syntax

css
/* Keyword values */
empty-cells: show;
empty-cells: hide;

/* Global values */
empty-cells: inherit;
empty-cells: initial;
empty-cells: revert;
empty-cells: revert-layer;
empty-cells: unset;

The empty-cells property is specified as one of the keyword values listed below.

Values

show

Borders and backgrounds are drawn like in normal cells.

hide

No borders or backgrounds are drawn.

Formal definition

Initial valueshow
Applies totable-cell elements
Inheritedyes
Computed valueas specified
Animation typediscrete

Formal syntax

empty-cells = 
show |
hide

Examples

Showing and hiding empty table cells

HTML

html
<table class="table_1">
  <tr>
    <td>Moe</td>
    <td>Larry</td>
  </tr>
  <tr>
    <td>Curly</td>
    <td></td>
  </tr>
</table>
<br />
<table class="table_2">
  <tr>
    <td>Moe</td>
    <td>Larry</td>
  </tr>
  <tr>
    <td>Curly</td>
    <td></td>
  </tr>
</table>

CSS

css
.table_1 {
  empty-cells: show;
}

.table_2 {
  empty-cells: hide;
}

td,
th {
  border: 1px solid gray;
  padding: 0.5rem;
}

Result

Specifications

Specification
Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification
# empty-cells

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
empty-cells

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also