The table-layout CSS property specifies the algorithm 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;


By default, most browsers use an automatic table layout algorithm. The widths of the table and its cells are adjusted to fit the content.
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 might not fit in the column widths provided. Cells use the overflow property to determine whether to clip any overflowing content, but only if the table has a known width; otherwise, they won't overflow the cells.

Formal syntax

auto | fixed





table {
  table-layout: fixed;
  width: 100px;
  border: 1px solid red;

td {
  border: 1px solid blue;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;



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

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

Browser compatibility


FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support14 Yes1571
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support1.5 ? Yes49.83 ?


Document Tags and Contributors

 Last updated by: wbamberg,