Saya ingin memiliki meja di situs web saya. Masalahnya adalah bahwa tabel ini akan memiliki sekitar 400 baris. Bagaimana saya bisa membatasi ketinggian meja, dan menerapkan scrollbar padanya? Ini kode saya:
<div class="span3">
<h2>Achievements left</h2>
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Something</td>
</tr>
<tr>
<td>2</td>
<td>Something</td>
</tr>
<tr>
<td>3</td>
<td>Something</td>
</tr>
<tr>
<td>4</td>
<td>Something</td>
</tr>
<tr>
<td>5</td>
<td>Something</td>
</tr>
<tr>
<td>6</td>
<td>Something</td>
</tr>
</tbody>
</table>
<p><a class="btn" href="#">View details »</a></p>
</div>
Saya mencoba menerapkan max-height dan fix fixed to table, tetapi tidak berhasil.
twitter-bootstrap
pangi
sumber
sumber
overflow
hanya pada tubuh tabel tetapi di mana<thead>
bagian selalu ditampilkan?Anda ingin membungkusnya dalam div itu sendiri atau memberikan span3 id itu sendiri sehingga Anda tidak memengaruhi seluruh tata letak Anda.
Berikut biola: http://jsfiddle.net/zm6rf/
sumber
.span3
akan mempengaruhi semuaspan3
elemen di seluruh situs Anda yang digerakkan Bootstrap.Tidak perlu membungkusnya dalam div ...
CSS :
Bootply : http://www.bootply.com/AgI8LpDugl
sumber
td
elemen bervariasi dalam ukuran. bootply.com/OsvzINuTUASaya memiliki masalah yang sama dan menggunakan kombinasi solusi di atas (dan menambahkan twist saya sendiri). Perhatikan bahwa saya harus menentukan lebar kolom agar tetap konsisten di antara tajuk dan badan.
Dalam solusi saya, header dan footer tetap diperbaiki sementara body bergulir.
Dan kemudian baru saja menerapkan CSS berikut:
Saya harap ini membantu orang lain.
sumber
Saya baru-baru ini harus melakukan ini dengan bootstrap dan angularjs, saya membuat arahan angularjs yang memecahkan masalah, Anda dapat melihat contoh dan detail kerja di posting blog ini .
Anda menggunakannya hanya dengan menambahkan atribut tajuk tetap ke tag tabel:
Jika Anda tidak menggunakan angular, Anda dapat mengubah javascript arahan dan menggunakannya secara langsung.
sumber
CSS
HTML
sumber
.table-class-name { height: 100%; }
.Ini mungkin bukan solusi untuk jumlah baris besar. Saya hanya menggunakan trik tabel duplikasi untuk menyelesaikan hal itu untuk tabel jumlah baris kecil sementara itu dapat menjaga lebar kolom fleksibel, Anda dapat mencoba biola ini .
(Kolom dengan lebar tetap adalah metode yang saya gunakan untuk tabel jumlah baris besar yang hanya membutuhkan duplikasi baris header)
Kode sampel:
sumber
Letakkan tabel dalam div dan berikan div itu kelas
pre-scrollable
.sumber
Baru-baru ini saya memiliki masalah yang sama dan akhirnya memperbaikinya menggunakan campuran solusi yang berbeda.
Yang pertama dan paling sederhana adalah menggunakan dua tabel, satu untuk header dan satu untuk tubuh. Ini berfungsi tetapi header dan kolom tubuh tidak selaras. Dan, karena saya ingin menggunakan ukuran-otomatis yang datang dengan tabel bootstrap twitter, saya akhirnya membuat fungsi Javascript yang mengubah header ketika: body dirender; ukuran jendela diubah; data di kolom berubah, dll.
Berikut ini beberapa kode yang saya gunakan:
Header dan tubuh dibagi dalam dua tabel terpisah. Salah satunya adalah di dalam DIV dengan gaya yang diperlukan untuk menghasilkan scrollbar vertikal. Berikut adalah CSS yang saya gunakan:
Saya berkomentar ketinggian di sini karena saya ingin meja mencapai bagian bawah halaman, apa pun tingginya halaman.
Atribut data-sort yang saya gunakan di header juga digunakan di setiap td. Dengan cara ini saya bisa mendapatkan lebar dan bantalan setiap td dan lebar baris. Menggunakan atribut data-sort yang saya atur menggunakan CSS padding dan lebar masing-masing header sesuai dan dari baris header yang selalu lebih besar karena tidak memiliki scrollbar. Berikut adalah fungsinya menggunakan coffeescript:
Di sini saya berasumsi bahwa Anda memiliki array header yang disebut @ header.
Itu tidak cantik tapi berhasil. Semoga ini bisa membantu seseorang.
sumber
Semua solusi di atas juga membuat gulir tajuk tabel ... Jika Anda hanya ingin menggulir tbody, terapkan ini:
sumber
Tidak satu pun dari jawaban ini yang memuaskan bagi saya. Mereka juga tidak memperbaiki baris judul tabel di tempat atau mereka membutuhkan lebar kolom tetap untuk bekerja, dan bahkan kemudian cenderung memiliki baris heading dan baris tubuh tidak selaras di berbagai browser.
Saya sarankan menggigit peluru dan menggunakan kontrol grid yang tepat seperti jsGrid atau favorit pribadi saya, SlickGrid . Ini jelas memperkenalkan ketergantungan tetapi jika Anda ingin meja Anda berperilaku seperti kisi-kisi nyata dengan dukungan lintas-peramban, ini akan menghemat Anda menarik rambut Anda. Ini juga memberi Anda pilihan untuk menyortir dan mengubah ukuran kolom plus banyak fitur lainnya jika Anda menginginkannya.
sumber
Saran Re Jonathan Wood. Saya tidak memiliki opsi untuk membungkus tabel dengan div baru karena saya menggunakan CMS. Menggunakan JQuery inilah yang saya lakukan:
Ini membungkus elemen tabel dengan div baru dengan kelas "table-overflow".
Anda kemudian dapat menambahkan definisi berikut dalam file css Anda:
sumber
letakkan tabel di dalam div untuk membuat tabel yang dapat digulir secara vertikal. ubah
overflow-y
untukoverflow-x
membuat tabel dapat digulir secara horizontal. hanyaoverflow
untuk membuat tabel dapat digulir baik horisontal maupun vertikal.sumber
Kupikir aku akan memposting di sini karena aku tidak bisa mendapatkan yang di atas untuk bekerja dengan Bootstrap 4. Saya menemukan ini online dan bekerja dengan baik untuk saya ...
Saya juga memasang jsfindle yang berfungsi.
https://jsfiddle.net/jgngg28t/
Semoga ini bisa membantu orang lain.
sumber