Перейти к содержанию
Planetatest

Адаптивные таблицы на сайте

Таблицы на мобильных устройствах — это частая боль веб-разработчиков и дизайнеров. Когда пользователь открывает таблицу с данными на смартфоне, часто видит либо крошечный текст, который невозможно прочитать, либо горизонтальной прокрутки, которая заставляет прыгать туда-сюда. Такие таблицы убивают конверсию: люди закрывают вашу страницу и идят к конкурентам. Проблема актуальна для интернет-магазинов (сравнение товаров), финансовых сервисов (таблицы курсов валют), авиабилетов (расписание рейсов) и любых других сайтов, где нужно показать много структурированной информации. Адаптивная таблица, или точнее адаптивные таблицы на сайте, — это не волшебство, а результат правильного использования HTML, CSS и веб дизайна, плюс продуманный подход к свойствам таблицы. За несколько часов можно переделать даже сложные таблицы на вашем сайта с помощью готового решения, и мы покажем вам как это сделать с готовым кодом, примерами и решениями для разных ситуаций.

Адаптивные таблицы на сайте — Предметный кадр статьи, пригодный для её страницы и карточки блога

Проблема не в самой таблице, а в том, как она отображается на экранах разного размера. На десктопе таблица спокойно раскидывается во всю ширину экрана: заголовок требует своего места, колонки расположены удобно, текст легко читается. На мобильном телефоне всё меняется: таблица упорно хочет остаться такого же размера, и браузеру приходится выбирать между двумя неприятностями — либо вписать всё по горизонтали и сделать текст нечитаемым, либо добавить горизонтальный скролл с использованием CSS.

Чаще всего теряет браузер, и адаптивная таблица начинает требовать прокрутки вбок. Пользователь видит только часть строки с элементами данных, прокручивает влево-вправо, теряет ориентацию между столбцов информации — и вот уже он смотрит конкурентский сайт.

Конкретные примеры проблемы

Посмотри на таблицы сравнения товаров на Авито: когда ты сравниваешь характеристики на мобильном устройстве, нужно постоянно скролить в стороны, чтобы увидеть всю информацию. На iPhone с экраном 390 пикселей эта задача становится особенно утомительной. Финансовые сервисы типа Яндекс.Касса грешат тем же: таблица с котировками валют просто не умещается по ширине, и ты прокручиваешь туда-сюда между колонками, пока не потеряешь суть того, что хотел сравнить. Работа с таблицами в режиме горизонтальной прокрутки на финансовом сайте становится мучением.

Сравнительные таблицы тарифов на SaaS-сервисах (Stripe, Notion) часто выходят за границы экрана на мобильных. Проблема в том, что вёрстка адаптивной таблицы требует нестандартного подхода. Когда дизайнер рисует макет в Figma, он работает с 16-дюймовым монитором. Разработчик берёт этот макет, пишет HTML код для тега table и CSS стили, и на десктопе всё выглядит красиво. Потом приходит багрепорт: «На мобильном таблица не соответствует дизайну» или «Горизонтальный скролл портит впечатление». Границы таблицы, размер шрифта и адаптивный дизайн требуют доработки с новыми параметрами.

Мобильных устройств сотни. iPhone 12 с экраном 390 пикселей — это одно, старый Android с 320 пикселями — совсем другое. Старые версии браузеров не поддерживают современные CSS свойства вроде display: grid. Новые браузеры требуют своего подхода. И вот адаптивная таблица с тегами tr th, td tr должна одновременно работать везде: на Chrome, на Safari, на браузере в забытом телефоне. Каждая таблица на каждом сайте требует своего варианта решения и добавить класс соответствующему элементу.

Почему это убивает конверсию

Горизонтальная прокрутка — не просто неудобство. Это сигнал пользователю: здесь что-то не так с дизайном страницы сайта, и безопасность данных взаимодействия может быть нарушена.

Человек заходит на сайт интернет-магазина, хочет сравнить две пары кроссовок: цена, размер, материал, доступность. Вместо этого он видит таблицу, которая требует скролить вниз, потом влево, потом вправо, потом опять вниз. Пять секунд — и человек уже в Google ищет конкурента. Использование данных и работа с таблицей требует слишком много усилий от пользователя.

Статистика говорит громко: 65-75% всего трафика сайтов идёт с мобильных устройств. Если таблицы на этих 65-75% требуют геройских усилий для чтения и использования информации, то вот тебе прямой удар по конверсии. Bounce rate (процент отказов) растёт, средний чек падает, результаты работы сайта ухудшаются. Человек просто закрывает вкладку после 10 секунд взаимодействия с таблицей, и все его данные покидают вашу базу.

Разные боли, один результат

Для разработчика адаптивная таблица — ещё одна задача, которую не заложили в спринте. Менеджер говорит: «Давай переделаем адаптивную таблицу на сайте». Идея звучит просто, но реализация требует 8-12 часов, если ты не знаешь как это делать. Или 2-3 часа, если знаешь приёмы. Нужно проверить на разных браузерах, на разных размерах экрана, на старых версиях iOS. Создание сайта с универсальной поддержкой — это не автоматизация, это ручная работа по написанию кода для тега table и изменению CSS стилей в каждом классе элемента.

Для дизайнера адаптивная таблица — сложная дилемма. Как сохранить красоту дизайна макета и при этом сделать его пригодным для экрана в 320 пикселей? Добавить больше padding и border 1px solid? Сменить размер шрифта? Переделать всю концепцию с display: flex и вертикальное выравнивание контента? Хороший пример — когда таблица на мобильной версии сайта трансформируется в карточки данных. Но это требует переосмысления всей концепции, не просто CSS-трюков. Есть несколько проверенных вариантов такой работы и способов адаптации.

Для владельца сайта это — прямые деньги на столе. Потеря конверсии на 10-15% из-за неработающих таблиц — это не число в отчёте, это реальная цена. Если у твоего сайта 10 000 посещений в месяц с мобильных, и 30% смотрит таблицы, то даже небольшой рост конверсии (с 2% до 3%) даёт плюс 30-40 заказов в месяц. На годовой основе это тысячи денег и увеличение результатов работы компании.

Как это исправить

К счастью, это всё исправляется быстро. Нет необходимости переписывать весь HTML код и CSS с нуля для каждого тега table. Есть несколько проверенных методов, как создать адаптивную таблицу, которая функциональна без потери данных и удобна в использовании. Большинство решений реализуются с помощью несложных изменений стилей и HTML разметки через div class или tr class. Все варианты можно внедрить за несколько часов работы. Давайте разбираться, какие конкретно подходы работают и как их реализовать на практике.

Как адаптировать таблицы - 4 способа

Горизонтальный скролл контейнера

Таблицу оборачиваешь в div с overflow-x: auto и width: 100%. Адаптивный способ решения для широких таблиц на мобильных. Пользователь скролит горизонтально, видя данные с значением border: 1px solid для границ таблицы. На десктопе видны целиком. Контрольные точки CSS не требуются. Подходит для финансовых данных и услуг с thead tbody структурой.

Трансформация в карточки

На мобильных каждая строка таблицы становится отдельной карточкой. Применяешь CSS media-queries с контрольными точками 768px и 50% td для ячейки таблицы. Используешь display: block для превращения строк с tr class разметкой в table tr конструкцию. Способ подходит для товаров интернет магазина и услуг. Каждая карточка показывает полный список данных с th td элементами.

Вертикальное расширение и гибридный метод

Строки таблиц развертываются вертикально через data-атрибуты и вертикальное выравнивание. Первые колонки остаются видны, остальные скролятся горизонтально в table div контейнере. Выбираешь способ адаптации по типу данных с tr tbody разметкой. Оба варианта решений улучшают читаемость таблиц на мобильных. Метод балансирует удобство, полноту информации и CSS свойства таблиц.

Наверх