Как сделать более или менее нормальную мобилопригодность для таблицы?

Dmitriy_2014
На сайте с 01.07.2014
Offline
276
260

Всем привет!

Подскажите как правильно адаптировать таблицу в мобильной версии, может сжать ячейки её дисплей флексом чтобы она схлопнулась в столбик да и бог с ней? ( Цель не красивильность, правильность, а чтобы гугл не писал что контент шире чего-то там…)

Заранее всем спасибо за ответы!


fliger
На сайте с 17.09.2015
Offline
106
#1

1 вариант: table {width: 100%; word-wrap: break-word; table-layout: fixed;} - таблица будет по ширине экрана, но все столбцы - равной ширины.

2 вариант: обернуть таблицу в <div class="wrap">, дав ему стиль:

@media screen and (max-width: 768px) {

table {width: 100%; word-wrap: break-word;}
.wrap {max-width: 100%; overflow: auto; -webkit-overflow-scrolling: touch;}

}

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

if ($('table').length > 0) {
$('table').wrap('<div class="wrap">');
}

W1
На сайте с 22.01.2021
Offline
283
#2
Dmitriy_2014 :
Цель не красивильность, правильность, а чтобы гугл не писал что контент шире чего-то там…
table, th, tbody, tr, th, td {
    display: block;
    width: 100%;
}

Мой форум - https://webinfo.guru –Там я всегда на связи
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#3
fliger #:

1 вариант: table {width: 100%; word-wrap: break-word; table-layout: fixed;} - таблица будет по ширине экрана, но все столбцы - равной ширины.

2 вариант: обернуть таблицу в <div class="wrap">, дав ему стиль:

@media screen and (max-width: 768px) {

table {width: 100%; word-wrap: break-word;}
.wrap {max-width: 100%; overflow: auto; -webkit-overflow-scrolling: touch;}

}

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

if ($('table').length > 0) {
$('table').wrap('<div class="wrap">');
}

Спасибо за 1 вариант, он вроде бы работает так как я и хотел сделать.

Я так и не понял, вроде я этот width: 100% ставил и на таблицу и на ячейки и даже с импортантом, вроде не было нигде статических размеров, и самое главное таблица сжималась до определенного размера, а потом на каком-то моменте блочилась, как будто бы ей мешают ячейки или что то еще фиг знает что, казалось бы ну сжимайся дальше статических величин нигде не прописано везде 100%!important на всем что можно, нифига, блочится в определенный момент и все.

Забавно что в сервисе гугл по проверке сайта на мобилопригодность, он писал мне что – и ширина выходит за рамки и шрифты маленькие и элементы близко друг к другу, а когда с шириной я поправил то стало все ОК и со шрифтами и с близкими элементами.
fliger
На сайте с 17.09.2015
Offline
106
#4
Dmitriy_2014 #:
Я так и не понял
table-layout: fixed - делает столбцы равной ширины и подгоняет таблицу по ширине экрана

word-wrap: break-word - разбивает слова, если они не вмещаются по ширине

Для удобства чтения лучше второй вариант.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий