Twitter Bootstrap'te duyarlı tablo işleme


Yanıtlar:


153

Bootstrap 3 artık kullanıma hazır Duyarlı tablolara sahip. Yaşasın! :)

Buradan kontrol edebilirsiniz: https://getbootstrap.com/docs/3.3/css/#tables-responsive

Masanızı <div class="table-responsive">çevreleyen bir alan ekleyin ve gitmekte fayda var:

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

Tüm düzenlerde çalışmasını sağlamak için bunu yapabilirsiniz:

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

7
Ancak yalnızca küçük cihazlar için geçerlidir (768 pikselin altında): S Kaynak: getbootstrap.com/css/#tables-responsive
VSP

1
Bunu tüm boyut düzenlerinde etkinleştirmek için duyarlı stilleri temel_and_overrides.css.scss dosyasındaki 768 bloğundan bırakabilirsiniz. "" .Table-responsive {width: 100%; overflow-y: gizli; overflow-x: kaydırma; -ms-overflow-style: -ms-autohiding-kaydırma çubuğu; -webkit-taşma-kaydırma: dokunma; } `` ``
genkilabs

3
@ ase69s güncellenmiş cevabımı kontrol et. Az önce ona çok sayıda sütun içeren bir masada ihtiyacım vardı. overflow-x: autoÖzel bir CSSdosyaya eklemek , daha büyük ekran düzenleri için hile yapar.
Leniel Maccaferri

Tutarlılık açısından bu syle tanımına sınırı da eklemek isteyebilirsiniz:border: 1px solid #dddddd;
ptim

2
.table-responsive td, .table-responsive th { white-space:nowrap; }Hücrelerin otomatik olarak küçülmemesini ve satır sonları eklememesini sağlamak için de eklemek isteyebilirsiniz .
rybo111


18

Duyarlı tablolarla uğraşırken yapabileceğiniz birçok farklı şey vardır.

Ben şahsen Chris Coyier'in bu yaklaşımını beğendim:

Diğer birçok alternatifi burada bulabilirsiniz:

Bootstrap'tan yararlanıp hızlı bir şekilde bir şey elde edebiliyorsanız, bazı satırları gizlemek için ".hidden-phone" ve ".hidden-tablet" sınıf adlarını kullanabilirsiniz, ancak bu yaklaşım çoğu durumda en iyisi olabilir. Daha fazla bilgi (bkz. "Duyarlı yardımcı program sınıfları"):


5
Coyer Link için +1. Bunu geçmişte büyük etki için kullandım.
Fetchez la vache

Evet, Chris Coyer'in çözümü çok temiz. Bootstrap veya zurbfoundation tarafından sağlanandan çok daha güzel (sadece yatay kaydırma eklerler).
Adrien

Ocak 2016 itibariyle, Coyier'in ve diğerlerinin duyarlı işleri, herkes Twitter Bootstrap'i kullanmaya başlamadan önce 5-6 yaşında.
Andrew Koper

1

Bootstrap 3 ve Less kullanıyorsanız, dosyayı güncelleyerek duyarlı tabloları tüm çözünürlüklere uygulayabilirsiniz:

tables.less

veya bu bölümün üzerine yazarak:

@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;
          }
        }
      }
    }
  }
}

İle:

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

İlk satır @ screen-XX değerini nasıl değiştirdiğime dikkat edin.

Tüm tabloları uyumlu hale getirmenin kulağa pek iyi gelmeyebileceğini biliyorum, ancak bunun LG'ye büyük tablolarda (çok sayıda sütun) etkinleştirilmesini son derece yararlı buldum.

Umarım birine yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.