CSS стиль table-layout. Определение ширины ячеек с помощью table-layout
CSS стиль table-layout определяет, как браузеру нужно вычислять ширину ячеек таблицы, основываясь на ее содержимом.
Краткая информация по CSS-свойству table-layout
Значение по умолчанию | auto |
Наследуется | Нет |
Применяется | К тегу <table> или к элементу, у которого значение display установлено как table или inline-table. |
Правила написания свойства table-layout
table-layout: auto | fixed
При выбранном значении auto браузер загружает всю таблицу, после чего анализирует ее для определения размеров ячеек и лишь после этого показывает на странице.
При значении fixed ширина колонок вычисляется на основе первой строки, либо определяется с помощью тега <col>. Если данные о форматировании первой строки таблицы по каким-либо причинам получить невозможно, то таблица делится на колонки равной ширины. При использовании значения fixed, содержимое, которое не помещается в ячейку указанной ширины, будет «обрезано» или наложено поверх ячейки (зависит от используемого браузера), но в любом случае ширина ячейки меняться не будет. Для корректной работы этого значения обязательно задавайте ширину таблицы!
Объектная модель
Объект.style.tableLayout
Пример применения стиля table-layout
Проиллюстрируем работу table-layout на примере. Нам нужно, чтобы ширина ячеек не зависела от содержимого.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Пример CSS стиля table-layout</title>
<style>
table {
table-layout: fixed; /* Фиксированная ширина ячеек */
width: 100%; /* Ширина таблицы */
}
.col1 { width: 160px; }
.coln { width: 60px; }
</style>
</head>
<body>
<table border="1">
<col class="col1">
<col span="3" class="coln">
<tr>
<td> </td>
<td>2012</td><td>2013</td><td>2014</td>
</tr>
<tr>
<td>Доллар</td><td>32</td><td>35</td><td>37</td>
</tr>
<tr>
<td>Евро</td><td>40</td> <td>42</td><td>44</td>
</tr>
<tr>
<td>Фунт</td><td>43</td><td>50</td><td>55</td>
</tr>
</table>
</body>
</html>