Реализация таблицы, которую удобно просматривать на любых устройствах. При переполнении контента по ширине включается плавный drag-скролл.

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

Представленное решение — это контейнер для таблицы, который автоматически определяет, нужно ли добавить возможность прокрутки. Если ширина таблицы превышает ширину родительского блока, появляется индикатор (иконка с анимацией), подсказывающий пользователю о возможности сдвинуть таблицу в сторону. Прокручивать таблицу можно, зажав её левой кнопкой мыши и перетащив (drag). После резкого движения скролл продолжается по инерции.

Это сохраняет структуру данных читаемой и не требует кардинального изменения макета таблицы (например, превращения в аккордеон или стопку карточек) на малых экранах.

Пример:

Колонка 1 Колонка 2 Колонка 3
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Колонка 1 Колонка 2 Колонка 3
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

HTML:

Для обеспечения читаемости таблицы на всех устройствах рекомендуется задавать минимальную ширину для важных колонок прямо в HTML-разметке. Это можно сделать через атрибут style, например: <th style="min-width: 200px;">

Такой подход гарантирует, что содержимое ячеек не будет сжиматься до нечитаемого состояния, сохраняя удобство восприятия данных даже при активной прокрутке.

CSS:

Стили изолированы для таблиц внутри класса .table-scrollable, что предотвращает конфликты.

JS:

Скрипт добавляет события для мыши (mousedown, mousemove, mouseup) и касаний (touchstart). При быстром "броске" срабатывает инерционный скролл.

Смотрите также:

JQuery плагин для простого создания горизонтальных вкладок с анимированным выводом их содержимого

Красивая замена блока на фотографию при наведении и движении курсора мыши

Мобильный Tab Bar с переключающимися вкладками

Добавить комментарий:

Ваш комментарий отправлен!