The table-layout CSS property defines the algorithm to be used to lay out table cells, rows, and columns.

/* Keyword values */
table-layout: auto;
table-layout: fixed;

/* Global values */
table-layout: inherit;
table-layout: initial;
table-layout: unset;

Initial valueauto
Applies totable and inline-table elements
Computed valueas specified
Animation typediscrete
Canonical orderthe unique non-ambiguous order defined by the formal grammar


An automatic table layout algorithm is commonly used by most browsers for table layout. The widths of the table and its cells depend on the content thereof.
Table and column widths are set by the widths of table and col elements or by the width of the first row of cells. Cells in subsequent rows do not affect column widths.

Under the "fixed" layout method, the entire table can be rendered once the first table row has been downloaded and analyzed. This can speed up rendering time over the "automatic" layout method, but subsequent cell content may not fit in the column widths provided. Any cell that has content that overflows uses the overflow property to determine whether to clip the overflow content, but only if the table has a known width, otherwise it won't overflow the cells.

Formal syntax

auto | fixed


.contentbox {
  table-layout: fixed;


Specification Status Comment
CSS Level 2 (Revision 1)
The definition of 'table-layout' in that specification.
Recommendation Initial definition

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support ?  - 14.0 +  (Yes) 1.0 (1.7 or earlier) 5.0 7.0 1.0
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? 1.5 ? (Yes) ? ? ? 9.8.0 ? 3.0