web-dev-qa-db-ja.com

Twitterでのレスポンシブテーブルの処理Bootstrap

このページのように、テーブルの幅がスパンの幅を超える場合: http://jsfiddle.net/rcHdC/

テーブルのコンテンツがspanの外にあることがわかります。

このケースに対応する最善の方法は何でしょうか?

83
Ryan

ブートストラップ に、すぐに使えるレスポンシブテーブルが追加されました。やった! :)

ここで確認できます: 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;
}
152

利用可能なオプションの1つはfooTableです。レスポンシブWebサイトでうまく機能し、複数のブレークポイントを設定できます... fooTable Link

21
Gfw

レスポンシブテーブルを扱うときにできることはたくさんあります。

私はクリス・コイヤーによるこのアプローチが個人的に好きです。

ここで他の多くの選択肢を見つけることができます:

Bootstrapを活用してすばやく取得できる場合は、クラス名「.hidden-phone」および「.hidden-tablet」を使用して一部の行を非表示にすることができますが、このアプローチは多くの場合に最適ですケース。詳細(「レスポンシブユーティリティクラス」を参照):

18
Luis Evrythng

Bootstrap 3およびLessを使用している場合、ファイルを更新することでレスポンシブテーブルをすべての解像度に適用できます。

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まで有効にすると非常に便利であることがわかりました。

それが誰かを助けることを願っています。

1
Mauricio