Как адаптировать таблицу под мобильные устройства. Поворачивать телефон — это крайняя мера

В Аспро: Next, начиная с версии 1.1.7, вы можете адаптировать таблицы для мобильной версии. Необходимо внести изменения в исходный код страницы - добавить класс, который отвечает за адаптивность таблиц.

Простая таблица в мобильной версии выходит за рамки страницы.

Чтобы таблица была адаптивной, перейдите в редактирование страницы, где добавлена таблица. Затем перейдите в режим редактирования исходного кода.

Перед открывающимся тегом

добавьте тег с классом
.

После закрывающегося тега

пропишите тег
.


...

Сохраните изменения.

Теперь таблица прокручивается и не заходит за рамки.

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

Необходимо добавить класс «swipeignore» в тег

, который мы добавили ранее. В результате перед тегом должен быть прописан тег с классами
.

...

Сохраните изменения.

Теперь при прокрутке таблицы вправо не открывается боковое меню, которое мешало работе с таблицей.

Вы можете убрать вывод бокового меню при прокрутке вправо и на других страницах. Необходимо добавить класс «swipeignore» в тег

блока, для которого нужно убрать вывод бокового меню. Если у тега не был прописан класс, он примет вид
. Если у тега
уже добавлены классы, то пропишите «swipeignore» через пробел, например
.

Если вы используете на сайте таблицы, то их также надо адаптировать под мобильные устройства. Я использую два варианта адаптации – сжатие и перенос слов + выстраивание таблиц в один столбик.

Первый вариант подходит для всех многоколоночных таблиц, второй вариант я на некоторых сайтах использую на морде. Есть такая слабость выводить меню в виде table, но при уменьшении разрешения они сжимаются настолько, что вызывают негодование у пользователя. Перевод при маленьком разрешении в одну колонку – хорошее решение, но, повторюсь, использовать его для всех table не стоит.

Основной вариант

Итак, для большинства таблиц на сайте я использую код в css:

@media screen and (max-width:1000px){td{word-break:break-all;}

Он указывает, что слова, которые не помещаются в блок, должны при разрешении менее 1000 px начинаться с новой строки. Разрешение 1000 – это пример, смотрите по своим сайтам, для кого-то есть смысл ставить разрешение меньше.

Добиться хорошего отображения table можно с помощью двойного кода в CSS. Я использую параллельно:

@media screen and (max-width:700px){img{max-width:96% !important;height:auto !important;} iframe, textarea, input, button, submit, video, object, embed{max-width:99% !important;} table, span, div, ins{max-width:100% !important;}

В нём указано, что при разрешении менее 700 px таблица отображается в 100%-ом варианте по размеру, то есть, сжимается, но занимает весь блок по ширине. Свойство!important показывает, что оно будет применяться для всех разрешений менее 700 px.

Адаптация в один столбик

Сложнее адаптировать таблицу так, чтобы она при небольшом разрешении отображалась в один столбик. Подходит не для всех table, но часто необходимо. Для начала укажите для таблицы оригинальный класс, например,

Затем в стилях прописывается код:

@media only screen and (max-width: 320px),(min-device-width: 320px) and (max-device-width: 600px) /* Force table to not be like tables anymore */ table.mceItemTable, table.mceItemTable thead, table.mceItemTable tbody, table.mceItemTable th, table.mceItemTable td, table.mceItemTable tr {display: block ; }

В данном случае display: block; указывает, что в таблицах mceItemTable блокируется tbody, th, td, tr. Как результат, при разрешении менее 600 px таблицы строится в одну колонку и table, по сути, не является.

Использование таблиц – это ещё один пирожок в корзину удобства пользователя, но они должны корректно отображаться и на мобильных устройствах, иначе результат будет противоположным ожидаемому – посетители станут убегать от кривых Table и ухудшат ПФ. Никто не запрещает выводить таблицы в одну колонку для всех Table, и наоборот, но лучше микст в зависимости от особенностей табличной конструкции.

Таблицы данных не очень хорошо справляются с адаптивным дизайном. К сожалению, этот момент есть. Отзывчивый дизайн — это все, что нужно для настройки дизайна для размещения экранов разных размеров. Итак, что происходит, когда экран уже, чем минимальная ширина таблицы данных? Вы можете уменьшить масштаб и увидеть всю таблицу, но размер текста будет слишком мал для чтения. Или вы можете приблизить точку считывания, но для просмотра таблицы потребуются горизонтальная прокрутка по вертикали и (печальная). Таблицы данных могут быть довольно широкими и обязательно такими. Таблицы можно выполнить гибкими по ширине (wight=100%), но содержимое ячеек может стать настолько узким, что его просто невозможно будет увидеть.

Для того, чтобы избежать этого неприятного момента используют адаптивные таблицы. В такой таблице будет отображаться горизонтальная полоса прокрутки, если экран слишком мал, чтобы отображать полный контент.

Как сделать адаптивную таблицу с помощью CSS

Чтобы создать отзывчивую таблицу, добавьте элемент контейнера overflow-x:auto вокруг

:

...

Примечание. В OS X Lion (на Mac) полосы прокрутки скрыты по умолчанию и отображаются только при использовании (даже если установлено «overflow:scroll» или авто).

На этот мы раз затронем схожую тему, но возьмем таблицу посложнее, с заголовками.

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

Нарисуем таблицу графика работы службы доставки со сменными курьерами и ценами, добавив атрибут aria-label (текстовую метку) к ячейкам с данными.

Время доставки Курьер Оплата картой Стоимость доставки
8:00-12:00 Николай Нет 20 руб.
12:00-18:00 Вадим Да 50 руб.
18:00-23:00 Алексей Да 120 руб.
1:00-6:00 Евгений Нет 90 руб.

Table.delivery {width: 100%; border: 0px; border-collapse: collapse;} table.delivery thead {font-weight: bold;} table.delivery td {padding: 0.6rem 1rem; border-bottom: 1px solid #e8e9eb;}

Внешний вид таблицы на ПК с фиксированным разрешением 1140 пикс. будет выглядеть примерно так.

При уменьшении разрешения дисплея до 334 пикс. ячейки сожмутся на сколько это возможно и оставят часть информации скрытой.

С помощью CSS мы сможем добиться нужно эффекта - разделение таблицы на понятные посетителю блоки при разрешении экрана меньше 800 пикс. Просто добавим к уже созданным стилям следующий код:

@media screen and (max-width: 800px) { table.delivery thead { display: none; } table.delivery tr { display: block; margin-bottom: 1rem; border-bottom: 2px solid #e8e9eb; } table.delivery td { display: block; text-align: right; } table.delivery td:before { content: attr(aria-label); float: left; font-weight: bold; } }

На скриншоте ниже вы можете наглядно оценить превосходство данного метода.

Спасибо за внимание! Не забывайте ставить оценку в рейтинге статьи!

Отобразить объемные данные на маленьком экране — всегда та еще головоломка. Какими способами можно ее решить и как должна выглядеть удобная таблица на мобильном?

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

Ключевые элементы в представлении таблиц — это связность контента и значимые атрибуты. И то, и другое особенно важно для мобильных таблиц. Сначала вы должны создать удобную таблицу для больших мониторов, а потом уже ее версию для маленьких экранов. Такая необходимость может стать отличным поводом, чтобы доработать контент своей таблицы и сделать ее удобнее для всех пользователей.

Количество столбцов таблицы для отображения на экране мобильного зависит от их ширины, причем их содержание должно быть понятно без необходимости использовать зум.

Для сложных или объемных текстов, например, в сравнительных таблицах, на узком мобильном экране поместится только 2 колонки. А если таблица заполнена в основном цифрами, столбцы можно сделать уже и, следовательно, уместить больше.

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

Поворачивать телефон — это крайняя мера

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

Чтобы сравнить кредитные карты на сайте Citi, пользователям нужно следовать инструкции: «Поверните свой телефон горизонтально, чтобы продолжить сравнение кредитных карт». При этом при повороте большую часть экрана занимают громадные изображения кредитных карт, которые фиксируются на месте при скроллинге, оставляя совсем мало места для самого содержимого таблицы. Это ошибка многих мобильных сайтов: если на десктопе картинки могут быть хорошим заголовком для столбца, то на мобильном их нужно .

В любой таблице, которая занимает больше одного вертикального экрана, «липкие» заголовки столбцов помогают пользователю не путаться в контексте.

В сравнительной таблице с Best.Buy слева не зафиксированы ни колонки, ни их заголовки, и данные сложно читать. Справа показано то, как выглядит эта таблица при скроллинге, безо всяких видимых пояснений.

Хотя в целом нежелательна как на мобильных, так и на десктопах, она относительно приемлема для больших таблиц на мобильных устройствах. Когда данные не помещаются на экране, посетителям, возможно, придется использовать ее. Однако в таком случае необходимо : должно быть очевидно, что это еще не все доступные данные. Как и в случае слайдеров, стрелки и обрезанные элементы передают эту информацию наиболее доходчиво. Иногда используются точки, но их обычно сложнее заметить и понять.

На сайте eBag последняя колонка с товарами обрезана, и пользователи понимают, что доступна горизонтальная прокрутка.

Сайт Subaru использует точки и стрелки над таблицей, показывая пользователям, что доступно еще несколько экранов с контентом. Точки создают некоторую путаницу, потому что две из них выделены, чтобы показать «текущее местоположение» (то есть две видимые сейчас колонки). К тому же, стрелки лучше разместить не над таблицей, а прямо в ней.

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

Fidelity закрепили названия вложений и заголовки столбцов. Последняя колонка справа обрезана, чтобы пользователи понимали, что доступна горизонтальная прокрутка.

Officeworks.com.au зафиксировали первый столбец с товаром, так что пользователи могут сравнивать с ним все остальные варианты. Товар в первом столбце служит точкой отсчета при сравнении, и пользователи могут заменить его каким-нибудь другим. Стрелки, размещенные прямо в таблице, дают понять, что данные можно прокручивать влево и вправо.

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

  • Пользователь выбирает интересующие его данные до того, как увидит их.
  • Пользователь выбирает интересующие его данные в процессе их просмотра.

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

Чтобы увидеть информацию о питательных свойствах Jamba Juice, посетителю нужно выбрать интересующий его напиток, чтобы увидеть информацию о нем. Переключатель «Маленький/Средний/Большой» позволяет выбрать нужный вариант, но не позволяет их сравнивать. Чтобы понять, например, разницу в количестве калорий между маленьким и средним стаканом, пользователь должен сначала запомнить количество калорий для маленького, потом переключиться на средний, посмотреть количество калорий для него и самостоятельно вычесть одно из другого — куча умственной работы, которую большинство людей поленится делать.

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

На сайте Dell пользователи выбирают интересные им технические характеристики продукта в меню вверху страницы. Слева: по умолчанию отображаются все характеристики. В центре: пользователь выбирает нужные. Справа: отображается только то, что он выбрал.

Если таблица включает в себя данные, которые можно сгруппировать по категориям, сделайте это и позвольте мобильным пользователям:

  • получить общее представление о типах данных, доступных в таблице;
  • получить прямой доступ к интересующей информации.

На Samsung.com в сравнительных таблицах могут отображаться все технические характеристики, или только сходства между продуктами, или только различия, или критерии по выбору пользователя. Сайт группирует данные со сходными атрибутами, позволяя выбирать интересующие наборы данных. В то же время группы данных дают общее представление о содержимом страницы, сообщая пользователям, какая информация о продуктах доступна.