Таблица с липкой шапкой
Если вы занялись задачей сделать липкий заголовок таблицы и смотрели уже какие для этого решения предлагает поиск гугла, то вы видели эти портянки js-кода с идеей дублирования заголовков таблицы.
На самом деле эта типовая задача решается при помощи всего лишь трёх строчек css-кода. И это в буквальном смысле.
Вот посмотрите такое DEMO таблицы:
| ID | 2 | 3 | 4 | 5 |
|---|---|---|---|---|
| 1 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 2 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 3 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 4 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 5 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 6 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 7 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 8 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 9 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 10 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 11 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 12 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 13 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 14 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 15 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 16 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 17 | Второй столбик... | Третьий столбик... | Четвёртый столбик... | Пятый столбик... |
| 18 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 19 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
| 20 | Второй столбик... | Третий столбик... | Четвёртый столбик... | Пятый столбик... |
Ну как вам такое? Правда круто?
Эта таблица имеет самый обычный html:
<table class="demo">
<thead>
<tr>
<th>ID</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Второй столбик...</td>
<td>Третий столбик...</td>
<td>Четвёртый столбик...</td>
<td>Пятый столбик...</td>
</tr>
<!-- и так ещё 19 раз повтор блока tr -->
</tbody>
</table>
Липкой шапку таблицы делает css-свойство position с установленным значением sticky. Плюс добавлены свойства top и z-index, чтобы всё работало правильно:
th {
position: sticky;
top: 0;
z-index: 2;
}
*** Войдите чтобы писать комментарии.