Twitter 부트 스트랩의 반응 형 테이블 처리


답변:


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
그러나 그것은 단지 (768px 아래) 소형 기기에 적용 : S 출처 : getbootstrap.com/css/#tables-responsive
VSP

1
모든 크기 레이아웃에서이 기능을 활성화하려면 Foundation_and_overrides.css.scss 파일의 768 블록에서 반응 형 스타일을 삭제하면됩니다. ```.table-responsive {width : 100 %; overflow-y : 숨김; overflow-x : 스크롤; -ms-overflow-style : -ms-autohiding-scrollbar; -webkit-overflow-scrolling : 터치; }```
genkilabs 2014

3
@ ase69s 업데이트 된 답변을 확인하십시오. 지금 막 많은 열이있는 테이블에 필요했습니다. overflow-x: auto사용자 정의 CSS파일을 추가하면 더 큰 디스플레이 레이아웃을위한 트릭이 수행됩니다.
Leniel Maccaferri 2014

일관성을 위해 해당 스타일 정의에 테두리를 추가 할 수도 있습니다.border: 1px solid #dddddd;
ptim

2
.table-responsive td, .table-responsive th { white-space:nowrap; }셀이 자동으로 축소되지 않고 줄 바꿈을 추가하지 않도록 추가 할 수도 있습니다 .
rybo111 2014-08-07


18

반응 형 테이블을 처리 할 때 수행 할 수있는 작업에는 여러 가지가 있습니다.

개인적으로 Chris Coyier의이 접근 방식을 좋아합니다.

여기에서 다른 많은 대안을 찾을 수 있습니다.

Bootstrap을 활용하여 신속하게 무언가를 얻을 수 있다면 클래스 이름 ".hidden-phone"및 ".hidden-tablet"를 사용하여 일부 행을 숨길 수 있지만이 방법은 대부분의 경우에 가장 좋습니다. 추가 정보 ( "반응 형 유틸리티 클래스"참조) :


5
Coyer Link에 +1. 나는 과거에 큰 효과를 내기 위해 그것을 사용했습니다.
Fetchez 라 VACHE

그래, Chris Coyer의 솔루션은 매우 깔끔합니다. bootstrap 또는 zurbfoundation에서 제공하는 것보다 훨씬 좋습니다 (단순히 가로 스크롤을 추가 함).
Adrien Be

2016 년 1 월 현재 Coyier와 다른 사람의 반응 형 제품은 모두가 Twitter Bootstrap을 사용하기 시작하기 전 5 ~ 6 년이되었습니다.
Andrew Koper

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까지이를 활성화하는 것이 매우 유용하다는 것을 알았습니다.

누군가에게 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.