Адаптивна обробка таблиць у Twitter Bootstrap


84

Коли ширина таблиці перевищує ширину прольоту, як ця сторінка: http://jsfiddle.net/rcHdC/

Ви побачите, що вміст таблиці знаходиться поза span.

Який найкращий спосіб задовольнити цю справу?


Що б ви хотіли статися?
Кімманон 02.03.13

Відповіді:


153

У Bootstrap 3 тепер є готові адаптивні таблиці. Ура! :)

Ви можете перевірити це тут: https://getbootstrap.com/docs/3.3/css/#tables-responsive

Додайте <div class="table-responsive">оточуючий ваш стіл, і ви повинні піти:

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

Щоб це працювало на всіх макетах, ви можете зробити це:

.table-responsive
{
    overflow-x: auto;
}

7
Але це стосується лише невеликих пристроїв (до 768 пікселів): S Джерело: getbootstrap.com/css/#tables-responsive
VSP

1
Щоб увімкнути це для всіх макетів розмірів, ви можете просто скинути відповідні стилі з блоку 768 у файлі foundation_and_overrides.css.scss. Щось на зразок `` `.table-responsive {width: 100%; overflow-y: прихований; overflow-x: прокрутка; -ms-стиль переповнення: -ms-autohiding-scrollbar; -webkit-overflow-scrolling: дотик; } ``
genkilabs

3
@ ase69s перевірити мою оновлену відповідь. Щойно мені він знадобився на столі з великою кількістю стовпців. Додавання overflow-x: autoспеціального CSSфайлу робить фокус для більших макетів дисплея.
Леніель Маккаферрі

Можливо, ви також хочете додати межу до цього визначення силе, щоб забезпечити узгодженість:border: 1px solid #dddddd;
ptim

2
Можливо, також хочеться додати, .table-responsive td, .table-responsive th { white-space:nowrap; }щоб переконатися, що клітинки не стискаються автоматично і додають розриви рядків.
rybo111


18

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

Мені особисто подобається такий підхід Кріса Койєра:

Тут ви можете знайти безліч інших варіантів:

Якщо ви можете використовувати Bootstrap і швидко щось отримати, ви можете просто використовувати імена класів ".hidden-phone" і ".hidden-tablet", щоб приховати деякі рядки, але цей підхід може бути найкращим у багатьох випадках. Більше інформації (див. "Адаптивні класи утиліти"):


5
+1 для посилання Coyer. Я використовував це в минулому з великим ефектом.
Fetchez la vache

Так, рішення Кріса Коєра дуже акуратне. Набагато приємніше, ніж той, який надає bootstrap або zurbfoundation (вони просто додають горизонтальну прокрутку).
Адріен Будь

На сьогодні, у січні 2016 року, реагуючим матеріалам Койєра та інших людей виповнилося 5 - 6 років, перш ніж усі почали користуватися Twitter Bootstrap.
Ендрю Копер

1

Якщо ви використовуєте Bootstrap 3 і менше, ви можете застосувати адаптивні таблиці до всіх роздільних здатностей, оновивши файл:

tables.less

або перезапис цієї частини:

@media (max-width: @screen-xs) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    overflow-x: scroll;
    border: 1px solid @table-border-color;

    // Tighten up spacing and give a background color
    > .table {
      margin-bottom: 0;
      background-color: #fff;

      // Ensure the content doesn't wrap
      > thead,
      > tbody,
      > tfoot {
        > tr {
          > th,
          > td {
            white-space: nowrap;
          }
        }
      }
    }

    // Special overrides for the bordered tables
    > .table-bordered {
      border: 0;

      // Nuke the appropriate borders so that the parent can handle them
      > thead,
      > tbody,
      > tfoot {
        > tr {
          > th:first-child,
          > td:first-child {
            border-left: 0;
          }
          > th:last-child,
          > td:last-child {
            border-right: 0;
          }
        }
        > tr:last-child {
          > th,
          > td {
            border-bottom: 0;
          }
        }
      }
    }
  }
}

З:

@media (max-width: @screen-lg) {
  .table-responsive {
    width: 100%;
...

Зверніть увагу, як я змінив значення першого рядка @ screen-XX.

Я знаю, що адаптація всіх таблиць може здатися не настільки гарною, але я знайшов надзвичайно корисним, якщо це дозволить до LG на великих таблицях (багато стовпців).

Сподіваюся, це комусь допомагає.

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