JS властивість CSSStyleDeclaration.tableLayout


Загальний опис

element.style.tableLayout — це властивість JavaScript, яка дозволяє керувати макетом таблиці в DOM-елементі, визначаючи як будуть відображатися рядки і стовпці.

Властивість tableLayout може приймати два основних значення: "auto" та "fixed". При значенні "auto", ширина таблиці та її стовпців визначається автоматично на основі вмісту. Це означає, що браузер буде аналізувати вміст кожної комірки і відповідно підлаштовувати ширину стовпців, що може викликати зміну розмірів під час завантаження сторінки. При значенні "fixed", ширина таблиці визначається на основі першого рядка таблиці, і всі інші рядки будуть підлаштовуватися під цю ширину. Це значення забезпечує більш передбачуване відображення та може прискорити рендеринг великих таблиць.

Приклади використання

Приклад 1: Встановлення макету таблиці на auto

let table = document.getElementById("myTable");
table.style.tableLayout = "auto";

В цьому прикладі ми отримуємо елемент таблиці з ідентифікатором myTable і встановлюємо властивість tableLayout на "auto", що змусить браузер автоматично підлаштовувати ширину стовпців під вміст комірок.

Приклад 2: Встановлення макету таблиці на fixed

let table = document.getElementById("myTable");
table.style.tableLayout = "fixed";

Тут ми змінюємо макет таблиці на fixed, що означає, що ширина стовпців буде визначатися тільки на основі першого рядка, роблячи таблицю більш стабільною за розмірами під час відображення.

Загалом властивість element.style.tableLayout є важливим інструментом для контролю макета таблиць в HTML-документах. Розуміння її можливостей та правильне застосування дозволяє покращити як продуктивність відображення, так і користувацький досвід на веб-сторінках.

автор: Bond

Порада

Застосовуйте tableLayout: auto, коли важливо, щоб ширина стовпців відповідала вмісту, особливо якщо комірки містять змінювані або динамічні дані.

автор: Bond
Порада

Використовуйте tableLayout: fixed, якщо вам потрібно швидко відобразити таблицю з фіксованою шириною стовпців.

автор: Bond
Порада

Використання tableLayout: fixed може значно покращити продуктивність, особливо для великих таблиць, оскільки браузеру не потрібно перераховувати ширину кожного стовпця на основі вмісту всіх комірок. Це також дозволяє уникнути "стрибків" в розмірах таблиці при завантаженні вмісту, забезпечуючи стабільне відображення з самого початку.

автор: Bond

Синтаксис

element.style.tableLayout

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
14 1 1 7 12 5
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
1.5 18 4 3

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми використовуємо властивість tableLayout: fixed для прискорення початкового завантаження великої кількості даних в таблицю. Спочатку встановлюємо tableLayout: fixed, щоб уникнути багаторазового перерахунку ширини стовпців під час додавання рядків, а після завантаження даних повертаємо значення tableLayout: auto для забезпечення динамічної підгонки ширини стовпців під вміст. Це покращує продуктивність і робить процес завантаження даних ефективнішим.

HTML

<table id="dataTable">
    <tr><td>комірка 1</td><td>комірка 2</td></tr>
</table>

JS

let table = document.getElementById("dataTable");

function loadData(data) {
  table.style.tableLayout = "fixed";
  data.forEach(rowData => {
    let row = table.insertRow();
    rowData.forEach(cellData => {
      let cell = row.insertCell();
      cell.textContent = cellData;
    });
  });
  table.style.tableLayout = "auto";
}

// Приклад даних для завантаження
let sampleData = [
  ["Name", "Age", "City"],
  ["Alice", "30", "New York"],
  ["Bob", "25", "Los Angeles"],
  // Більше даних...
];

loadData(sampleData);
автор: Bond

У цьому прикладі ми реалізували функціонал, який дозволяє користувачеві динамічно перемикати макет таблиці між режимами "auto" та "fixed" натисканням кнопки. Це корисно в ситуаціях, коли потрібно змінювати відображення таблиці на основі змін у вмісті або користувацьких налаштувань, забезпечуючи гнучкість у використанні інтерфейсу.

HTML

<table id="myTable">
    <tr><td>комірка 1</td><td>комірка 2</td></tr>
</table>
<div id="switchLayout">Демонстраційний елемент</div>

JS

let table = document.getElementById("myTable");
let switchButton = document.getElementById("switchLayout");

switchButton.addEventListener("click", () => {
  if (table.style.tableLayout === "auto") {
    table.style.tableLayout = "fixed";
  } else {
    table.style.tableLayout = "auto";
  }
});
автор: Bond

У цьому прикладі, користувач може натискати кнопку для переключення макету таблиці між режимами "auto" та "fixed". Це дозволяє побачити, як змінюється поведінка таблиці при різних макетах, і зрозуміти різницю між автоматичним підлаштуванням ширини стовпців та фіксованим макетом.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід