The table-layout
CSS property sets the algorithm used to lay out <table>
cells, rows, and columns.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
/* Keyword values */ table-layout: auto; table-layout: fixed; /* Global values */ table-layout: inherit; table-layout: initial; table-layout: unset;
Values
auto
- By default, most browsers use an automatic table layout algorithm. The widths of the table and its cells are adjusted to fit the content.
fixed
- Table and column widths are set by the widths of
table
andcol
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 definition
Initial value | auto |
---|---|
Applies to | table and inline-table elements |
Inherited | no |
Computed value | as specified |
Animation type | discrete |
Formal syntax
auto | fixed
Examples
Fixed-width tables with text-overflow
This example uses a fixed table layout, combined with the width
property, to restrict the table's width. The text-overflow
property is used to apply an ellipsis to words that are too long to fit. If the table layout were auto
, the table would grow to accomodate its contents, despite the specified width
.
HTML
<table> <tr><td>Ed</td><td>Wood</td></tr> <tr><td>Albert</td><td>Schweitzer</td></tr> <tr><td>Jane</td><td>Fonda</td></tr> <tr><td>William</td><td>Shakespeare</td></tr> </table>
CSS
table { table-layout: fixed; width: 120px; border: 1px solid red; } td { border: 1px solid blue; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Level 2 (Revision 1) The definition of 'table-layout' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
table-layout | Chrome Full support 14 | Edge Full support 12 | Firefox Full support 1 | IE Full support 5 | Opera Full support 7 | Safari Full support 1 | WebView Android Full support 1.5 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 3 | Samsung Internet Android Full support 1.0 |
Legend
- Full support
- Full support