В этой статье мы расскажем вам, как создать адаптивные таблицы в WordPress, используя различные способы. Независимо от вашего опыта, у вас всегда есть возможность выбрать тот метод, который наиболее всего подходит для вас.
Почему важно создавать адаптивные таблицы
С момента, когда ваш сайт посещают пользователи с различных устройств, необходимо создать для них корректный вид всех элементов на странице. Адаптивные таблицы обеспечивают правильное отображение данных даже на устройствах с небольшими экранами, делая информацию более доступной и читаемой для всех пользователей.
Создание адаптивной таблицы с overflow
Давайте применим немного уловок. Лично я склоняюсь к тому, что это наилучший путь. Вместо того чтобы создавать громоздкую в адаптивности таблицу, мы применим более изощренный метод: создадим контейнер с определенным классом и применим к нему определенные стили.
Это позволит нам обеспечить возможность прокрутки таблицы с использованием свойства overflow в автоматическом режиме.
Создаем блок с классом table-overflow.
<div class="table-overflow"> <!-- Сюда вставить таблицу --> </div>
Добавляем в файл style.css такой стиль:
.table-overflow {
overflow-x: auto;
width: 100%;
}
Теперь, когда нужно вставить таблицу в статью, вставляйте её в ранее созданный контейнер.
<div class="table-overflow">
<table>
<thead>
<tr>
<th>Заголовок 1</th>
<th>Заголовок 2</th>
<th>Заголовок 3</th>
<th>Заголовок 4</th>
<th>Заголовок 5</th>
</tr>
</thead>
<tbody>
<tr>
<td>Строка-1</td>
<td>Строка-1-1</td>
<td>Строка-1-2</td>
<td>Строка-1-3</td>
<td>Строка-1-4</td>
</tr>
<tr>
<td>Строка-2</td>
<td>Строка-2-1</td>
<td>Строка-2-2</td>
<td>Строка-2-3</td>
<td>Строка-2-4</td>
</tr>
<tr>
<td>Строка-3</td>
<td>Строка-3-1</td>
<td>Строка-3-2</td>
<td>Строка-3-3</td>
<td>Строка-3-4</td>
</tr>
<tr>
<td>Строка-4</td>
<td>Строка-4-1</td>
<td>Строка-4-2</td>
<td>Строка-4-3</td>
<td>Строка-4-4</td>
</tr>
<tr>
<td>Строка-5</td>
<td>Строка-5-1</td>
<td>Строка-5-2</td>
<td>Строка-5-3</td>
<td>Строка-5-4</td>
</tr>
</tbody>
</table>
</div>
Вот эта таблица в деле. Уменьшите размер браузера, и вы увидите результат.
| Заголовок 1 | Заголовок 2 | Заголовок 3 | Заголовок 4 | Заголовок 5 |
|---|---|---|---|---|
| Строка-1 | Строка-1-1 | Строка-1-2 | Строка-1-3 | Строка-1-4 |
| Строка-2 | Строка-2-1 | Строка-2-2 | Строка-2-3 | Строка-2-4 |
| Строка-3 | Строка-3-1 | Строка-3-2 | Строка-3-3 | Строка-3-4 |
| Строка-4 | Строка-4-1 | Строка-4-2 | Строка-4-3 | Строка-4-4 |
| Строка-5 | Строка-5-1 | Строка-5-2 | Строка-5-3 | Строка-5-4 |
Используйте WordPress плагины для адаптивности таблиц

TablePress инструкция TablePress
В WordPress существует множество плагинов, которые упрощают создание адаптивных таблиц. Некоторые из них предоставляют дополнительные возможности форматирования и стилизации. К примеру, TablePress. Установите и активируйте плагин, создайте таблицу через интерфейс, добавьте содержимое и настройте внешний вид.
Адаптивная таблица с атрибутом data
Дошли мы к последнему методу, и это метод весьма интересный. В данном случае, мы воспользуемся скриптом, который автоматически будет подставлять значения заголовков таблицы через атрибут data-label. При этом, с помощью медиа-запросов CSS, мы адаптировали структуру таблиц, создавая аккуратные «коробочки» из строк таблицы.
Добавьте скрипт к вашему сайту с помощью любого удобного для вас метода.
<script>
document.addEventListener('DOMContentLoaded', function() {
var tableRows = document.querySelectorAll('.entry-content tbody tr');
var headerCells = document.querySelectorAll('.entry-content thead th');
tableRows.forEach(function(row) {
var cells = row.querySelectorAll('td');
cells.forEach(function(cell, index) {
var labelText = headerCells.length > index ? headerCells[index].textContent : '';
cell.setAttribute('data-label', labelText);
});
});
});
</script>
После этого внесите необходимые стили в файл style.css.
@media screen and (max-width: 900px) {
.entry-content thead {
visibility: hidden;
height: 0;
position: absolute;
}
.entry-content tr {
display: block;
margin-bottom: 1em;
}
.entry-content td {
border: 1px solid;
border-bottom: none;
display: block;
font-size: .8em;
text-align: right;
}
.entry-content td::before {
content: attr(data-label);
float: left;
font-weight: bold;
text-transform: uppercase;
}
.entry-content td:last-child {
border-bottom: 1px solid;
}
}
Выберите подходящий для вас способ и создайте стильные и функциональные адаптивные таблицы в WordPress, которые будут хорошо выглядеть и на настольных компьютерах, и на мобильных устройствах.