Свойство CSS `table-layout`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Свойство table-layout CSS задаёт алгоритм размещения ячеек, строк и столбцов <table>.
Попробуйте
table-layout: auto; width: 150px;
table-layout: fixed; width: 150px;
table-layout: auto; width: 100%;
table-layout: fixed; width: 100%;
<section class="default-example" id="default-example">
<table class="transition-all" id="example-element">
<tbody>
<tr>
<th>Name</th>
<th>Location</th>
</tr>
<tr>
<td>Lion</td>
<td>Africa</td>
</tr>
<tr>
<td>Norwegian Lemming</td>
<td>Europe</td>
</tr>
<tr>
<td>Seal</td>
<td>Antarctica</td>
</tr>
<tr>
<td>Tiger</td>
<td>Asia</td>
</tr>
</tbody>
</table>
</section>
table {
border: 1px solid #113399;
}
th,
td {
border: 2px solid #aa1199;
padding: 0.25rem 0.5rem;
}
Синтаксис
/* Keyword values */ table-layout: auto; table-layout: fixed; /* Global values */ table-layout: inherit; table-layout: initial; table-layout: revert; table-layout: revert-layer; table-layout: unset;
Значения
Это свойство задаётся одним из следующих ключевых слов:
-
auto - Используется алгоритм автоматической раскладки таблицы. Ширина таблицы и её ячеек корректируется в соответствии с содержимым. Большинство браузеров используют этот алгоритм по умолчанию.
-
fixed -
Используется алгоритм фиксированной раскладки таблицы. При использовании этого ключевого слова ширина таблицы должна быть задана явно с помощью свойства
width. Если значение свойстваwidthзадано какautoили не указано, браузер использует алгоритм автоматической раскладки таблицы, в этом случае значениеfixedне оказывает эффекта.
Алгоритм фиксированной раскладки таблицы быстрее алгоритма автоматической раскладки, поскольку горизонтальная раскладка таблицы зависит только от ширины таблицы, ширины столбцов, границ и интервалов между ячейками. Горизонтальная раскладка не зависит от содержимого ячеек, так как учитываются только явно заданные значения ширины.При использовании алгоритма фиксированной раскладки таблицы ширина каждого столбца определяется следующим образом:
- Элемент столбца с явно заданной шириной задаёт ширину этого столбца.
- В противном случае ширина ячейки в первой строке, заданная явно, определяет ширину этого столбца.
- В противном случае столбцу назначается часть общего оставшегося горизонтального пространства.
При использовании этого алгоритма всю таблицу можно отобразить после загрузки и анализа первой строки. Это может ускорить отображение по сравнению с методом «автоматической» раскладки, однако содержимое последующих ячеек может не поместиться в выделенную ширину столбцов. Ячейки используют свойство
overflow, чтобы определить, следует ли обрезать выходящее за границы содержимое, но только если ширина таблицы известна; в противном случае содержимое не будет выходить за границы ячеек.
Формальное определение
| Исходное значение | auto |
|---|---|
| Применяется к | элементам <code>table</code> и <code>inline-table</code> |
| Наследуется | нет |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
table-layout =
auto |
fixed
Примеры
Таблицы фиксированной ширины с text-overflow
В этом примере используется фиксированная раскладка таблицы в сочетании со свойством width, ограничивающим ширину таблицы. Свойство text-overflow добавляет многоточие к словам, которые слишком длинные и не помещаются. Если бы раскладка таблицы была auto, таблица увеличивалась бы, чтобы вместить содержимое, несмотря на заданное значение width.
HTML
<table>
<tbody>
<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>
</tbody>
</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;
}
Результат
Спецификации
| Спецификация |
|---|
| Каскадные таблицы стилей, уровень 2 # width-layout |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
table-layout |
14 |
12 |
1 |
7 |
1 |
18 |
4 |
10.1 |
3 |
1.0 |
1.5 |
3 |
auto |
14 |
12 |
1 |
7 |
1 |
18 |
4 |
10.1 |
3 |
1.0 |
1.5 |
3 |
fixed |
14 |
12 |
1 |
7 |
1 |
18 |
4 |
10.1 |
3 |
1.0 |
1.5 |
3 |
См. также
<table>- Модуль таблиц CSS
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/table-layout