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.