Saya sedang membangun aplikasi web menggunakan Bootstrap 4 dan mengalami beberapa masalah aneh. Saya ingin menggunakan kelas responsif tabel Bootstrap untuk memungkinkan pengguliran horizontal tabel pada perangkat seluler. Pada perangkat desktop, tabel harus 100% dari lebar DIV penampung.
Segera setelah saya menerapkan kelas .table-responsive ke tabel saya, tabel menyusut secara horizontal dan tidak lagi memakan 100% lebarnya. Ada ide?
Ini markup saya:
<!DOCTYPE html>
<html lang="en" class="mdl-js">
<head>
<title></title>
<meta charset="utf-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="application-name" content="">
<meta name="theme-color" content="#000000">
<link rel="stylesheet" href="/css/bundle.min.css">
</head>
<body>
<div class="container-fluid no-padding">
<div class="row">
<div class="col-md-12">
<table class="table table-responsive" id="Queue">
<thead>
<tr>
<th><span span="sr-only">Priority</span></th>
<th>Origin</th>
<th>Destination</th>
<th>Mode</th>
<th>Date</th>
<th><span span="sr-only">Action</span></th>
</tr>
</thead>
<tbody>
<tr class="trip-container" id="row-6681470c-91ce-eb96-c9be-8e89ca941e9d" data-id="6681470c-91ce-eb96-c9be-8e89ca941e9d">
<td>0</td>
<td>PHOENIX, AZ</td>
<td>SAN DIEGO, CA</td>
<td>DRIVING</td>
<td><time datetime="2017-01-15T13:59">2017-01-15 13:59:00</time></td>
<td><span class="trip-status-toggle fa fa-stop" data-id="6681470c-91ce-eb96-c9be-8e89ca941e9d" data-trip-status="1"></span></td>
</tr>
<tr class="steps-container" data-steps-for="6681470c-91ce-eb96-c9be-8e89ca941e9d" style="display: none;">
<td colspan="6" class="no-padding"></td>
</tr>
</tbody>
</table>
</div>
</div>
<br>
</div>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="/js/bundle.min.js"></script>
</body>
</html>
Jika saya menerapkan lebar 100% ke kelas .table-responsive, itu membuat tabel itu sendiri menjadi 100% lebar tetapi elemen turunan (TBODY, TR, dll.) Masih sempit.
sumber
table-responsive
kelas sebagai pembungkus kembali ke Bootstrap 3 ...? Senang ada solusi untuk saat ini! Bootstrap 4 Alpha ;-)Solusi ini berhasil untuk saya:
cukup tambahkan kelas lain ke elemen tabel Anda:
w-100 d-block d-md-table
jadi itu akan menjadi:
<table class="table table-responsive w-100 d-block d-md-table">
untuk bootstrap 4
w-100
atur lebar menjadi 100%d-block
(display: block) dand-md-table
(display: table on min-width: 576px)Bootstrap 4 menampilkan dokumen
sumber
<table class="table table-responsive-md">
?Jika Anda menggunakan V4.1, dan menurut dokumennya, jangan tetapkan .table-responsive langsung ke tabel. Tabel harus .table dan jika Anda ingin dapat di-scroll secara horizontal (responsif), tambahkan di dalam container .table-responsive (
<div>
misalnya).melakukan itu, tidak diperlukan css tambahan.
Dalam kode OP, .table-responsive dapat digunakan bersama dengan .col-md-12 di bagian luar.
sumber
Untuk beberapa alasan tabel responsif khususnya tidak berperilaku sebagaimana mestinya. Anda dapat menambalnya dengan menyingkirkan
display:block;
Saya mungkin mengajukan laporan bug.
Edit:
Ini adalah bug yang sudah ada.
sumber
Tak satu pun dari jawaban ini yang berhasil (tanggal 9 Desember 2018 hari ini). Resolusi yang benar di sini adalah menambahkan .table-responsive-sm ke tabel Anda:
Ini menerapkan aspek responsivitas hanya untuk tampilan SM (seluler). Jadi dalam tampilan seluler Anda mendapatkan pengguliran sesuai keinginan dan dalam tampilan yang lebih besar, tabel tidak responsif dan karenanya ditampilkan dengan lebar penuh, seperti yang diinginkan.
Dokumen: https://getbootstrap.com/docs/4.0/content/tables/#breakpoint-specific
sumber
Solusi yang sesuai dengan kerangka v4 adalah dengan menetapkan breakpoint yang tepat. Daripada menggunakan .table-responsive, Anda harus bisa menggunakan .table-responsive-sm (hanya responsif di perangkat kecil)
Anda dapat menggunakan salah satu endpoint yang tersedia: table-responsive {-sm | -md | -lg | -xl}
sumber
Itu karena
.table-responsive
kelas menambahkan propertidisplay: block
ke elemen Anda yang mengubahnya dari sebelumnyadisplay: table
.Ganti properti ini kembali ke
display: table
dalam lembar gaya Anda sendiriCatatan: pastikan gaya ini dijalankan setelah kode bootstrap Anda untuk diganti.
sumber
Ini disebabkan oleh
table-responsive
kelas yang memberikan properti pada tabeldisplay:block
, yang aneh karena ini menimpatable
kelas yang aslidisplay:table
dan itulah sebabnya tabel menyusut saat Anda menambahkantable-responsive
.Kemungkinan besar karena bootstrap 4 masih dalam dev. Anda aman menimpa properti ini dengan kelas Anda sendiri yang disetel
display:table
dan itu tidak akan mempengaruhi daya tanggap tabel.misalnya
sumber
Mempertimbangkan jawaban lain, saya akan melakukan sesuatu seperti ini, terima kasih!
sumber
cukup bungkus tabel dengan .table-responsive {-sm | -md | -lg | -xl}
sebagai contoh
bootstrap 4 tabel
sumber
Saya menemukan bahwa menggunakan kelas responsif tabel yang direkomendasikan dalam pembungkus masih menyebabkan tabel responsif (secara mengejutkan) menyusut secara horizontal:
Solusi bagi saya adalah membuat breakpoint media dan kelas berikut untuk mencegahnya:
Kemudian saya dapat menambahkan kelas yang sesuai ke elemen tabel saya. Sebagai contoh:
Di sini pembungkus mengatur lebar menjadi 100% untuk besar dan lebih besar per Bootstrap. Dengan kelas tabel-lg diterapkan ke elemen tabel, lebar tabel juga disetel ke 100% untuk besar dan lebih besar, tetapi disetel ke 992 piksel untuk sedang dan lebih kecil. Kelas table-xs, table-sm, table-md, dan table-xl bekerja dengan cara yang sama.
sumber
Untuk Bootstrap 4.x gunakan utilitas tampilan:
w-100 d-print-block d-print-table
Penggunaan :
sumber
Tampaknya elemen "hanya sr" dan gayanya di dalam tabel adalah penyebab bug ini. Setidaknya saya memiliki masalah yang sama dan setelah berbulan-bulan membenturkan kepala kami ke dinding itulah yang kami tentukan penyebabnya, meskipun saya masih tidak mengerti mengapa. Menambahkan
left:0
ke gaya "hanya sr" memperbaikinya.sumber