Як відобразити таблиці на мобільному телефоні за допомогою Bootstrap?


90

Мої таблиці добре відображаються на робочому столі, але як тільки я спробую переглянути мобільну версію, моя таблиця виявляється занадто широкою для екрану мобільного пристрою. Я використовую адаптивний макет.

Як я можу встановити ширину таблиці для мобільного перегляду? Які ще є альтернативи представлення табличних даних на мобільних представленнях за допомогою Bootstrap?


2
Я помітив, що Bootstrap 3.0 буде "першим мобільним". Хтось думає, що вирішить це "питання" мобільних таблиць?

У Bootstrap 3. таблиці все ще однакові :( (
Giles Roberts


@ ta.speot.is Зараз вони кращі, ніж у кандидатів на звільнення. Всі приклади там, хоча мають лише 4 стовпці. Досі не дуже добре працює для широких столів. У підсумку я застосував рішення із фіксованим першим стовпцем, а решта прокрутка.
Giles Roberts

@ ta.speot.is Щойно побачив вашу відповідь нижче. Пропустив, що Bootstrap 3 має клас, що відповідає таблиці. Добре працює, якщо вам не потрібні певні стовпці, щоб завжди бути видимими.
Giles Roberts,

Відповіді:


122

Bootstrap 3 представляє адаптивні таблиці :

<div class="table-responsive">
  <table class="table">
    ...
  </table>
</div>

Bootstrap 4 подібний, але з більшим контролем за допомогою деяких нових класів :

... чуйний у всіх вікнах перегляду ... за допомогою .table-responsive. Або виберіть максимальну точку зупинки, за допомогою якої можна отримати адаптивну таблицю за допомогою .table-responsive{-sm|-md|-lg|-xl}.

Подяка Джейсону Бредлі за наданий приклад:

Чуйні таблиці


6
Дякую. Як і 99,9% людей, я не потрудився прочитати документацію оновлення. Мабуть, мав би.
Девід Белангер,

1
Справді, це так! Плюс, це робить те, що я спочатку хотів, тому для мене це 2: 1!
Девід Белангер,

Що саме робить table-responsiveклас? Bootstrap docs говорить "щоб вони прокручувались горизонтально", але я не помічаю різниці, пов'язаної з прокруткою. Єдина різниця, яку я помічаю, полягає в тому, що таблиця отримує межі зовні, коли перебуває під певним розміром екрана ( як видно з прикладу ).
Денніс

5
@ ta.speot.is Я зрозумів, що неправильно прочитав документацію і неправильно використовую клас. Я додавав .table-responsiveдо самої таблиці (наприклад <table class="table table-responsive">), замість того, щоб обертати таблицю .table-responsive, на що ви навіть вказали у своєму прикладі.
Денніс

1
@PirateApp Використовуйте hidden-*в tds стовпців, які ви хочете приховати getbootstrap.com/docs/3.3/css/#responsive-utilities
ta.speot.is

68

Ви також можете розглянути один із цих підходів, оскільки більші таблиці не зовсім зручні для мобільних пристроїв, навіть якщо це працює:

http://elvery.net/demo/responsive-tables/

Я прихильний до "Більше таблиць", але це, очевидно, залежить від вашої програми.


3
Фантастичне посилання та три справді чудові рішення! Мені довелося пошукати в Google, повернувшись до цього питання, лише щоб проголосувати вашу відповідь. Дякую!
Саймон

2
Відповідь, яка складається виключно з посилання, - поганий етикет переповнення стека. Сторінка може зникнути, вміст на сторінці може змінитися, відповідь не видно відразу, відповідь неможливо покращити тощо. До речі, посилання більше не вказує на правильний вміст.
Денніс


1
@Dennis має рацію. Будь ласка, розробіть свою відповідь, щоб узагальнити те, що є у посиланні, і збережіть посилання теж для демонстраційних демонстрацій та деталей. Ти все-таки отримаєш мою підтримку, оскільки посилання надзвичайно цікаве. На ура
Mario Awad

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.