table-layout
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;
Initial value |
auto |
Applies to |
table and inline-table elements |
Inherited |
no |
Media |
visual |
Computed value |
as specified |
Animation type |
discrete |
Canonical order |
the unique non-ambiguous order defined by the formal grammar |
Syntax
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
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.
auto | fixed
Example
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: 100px;
border: 1px solid red;
}
td {
border: 1px solid blue;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
Result
Specifications
Browser compatibility
Feature |
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
Basic support |
14 |
Yes |
1 |
5 |
7 |
1 |
Feature |
Android webview |
Chrome for Android |
Edge mobile |
Firefox for Android |
IE mobile |
Opera Android |
iOS Safari |
Basic support |
1.5 |
? |
Yes |
4 |
? |
9.8 |
3 |