Di Bootstrap v3 saya sering menggunakan tersembunyi - ** kelas dikombinasikan dengan clearfix untuk mengontrol tata letak multi kolom pada lebar layar yang berbeda. Sebagai contoh,
Saya dapat menggabungkan banyak yang tersembunyi - ** dalam satu DIV untuk membuat multi kolom saya tampil dengan benar pada lebar layar yang berbeda.
Sebagai contoh jika saya ingin menampilkan deretan foto produk, 4 per baris pada ukuran layar yang lebih besar, 3 pada layar yang lebih kecil, kemudian 2 pada layar yang sangat kecil. Foto-foto produk mungkin ketinggian yang berbeda jadi saya perlu perbaikan jelas untuk memastikan baris rusak dengan benar.
Berikut ini contoh dalam v3 ...
http://jsbin.com/tosebayode/edit?html,css ,output
Sekarang v4 telah menghilangkan semua kelas ini, dan menggantinya dengan kelas yang terlihat / tersembunyi - ** - naik / turun saya tampaknya harus melakukan hal yang sama dengan beberapa DIV.
Berikut contoh serupa di v4 ...
http://jsbin.com/sagowihowa/edit?html,css ,output
Jadi saya telah beralih dari DIV tunggal ke harus menambahkan beberapa DIV dengan banyak kelas naik / turun untuk mencapai hal yang sama.
Dari...
<div class="clearfix visible-xs-block visible-sm-block"></div>
untuk...
<div class="clearfix hidden-sm-up"></div>
<div class="clearfix hidden-md-up hidden-xs-down"></div>
<div class="clearfix hidden-md-down"></div>
Apakah ada cara yang lebih baik untuk melakukan ini di v4 yang saya abaikan?
d-initial
sehingga Anda tidak dapat lagi menimpad-<breakpoint>-hidden
dan mengaturnya ke nilai awal. Jika saya ingin menyembunyikan elemen pada layar yang lebih kecil namun menunjukkannya pada yang sedang dan lebih besar tanpa mengetahui tampilan awal (yang bisa dinamis) maka saya tidak bisa mengembalikan nilainya. Mereka tidak memikirkan semua ini.Sayangnya semua kelas
hidden-*-up
danhidden-*-down
telah dihapus dari Bootstrap (pada Bootstrap Versi 4 Beta , dalam Versi 4 Alpha dan Versi 3 kelas-kelas ini masih ada).Alih-alih, kelas baru
d-*
harus digunakan, seperti yang disebutkan di sini: https://getbootstrap.com/docs/4.0/migration/#utilitiesSaya menemukan bahwa pendekatan baru kurang bermanfaat dalam beberapa keadaan. Pendekatan tua adalah untuk HIDE elemen sedangkan pendekatan baru adalah untuk TUNJUKKAN elemen. Menampilkan elemen tidak semudah itu dengan CSS karena Anda perlu tahu apakah elemen ditampilkan sebagai blok, inline, inline-block, tabel, dll.
Anda mungkin ingin mengembalikan gaya "hidden- *" yang dikenal dari Bootstrap 3 dengan CSS ini:
Kelas
hidden-unless-*
- kelas itu tidak termasuk dalam Bootstrap 3, tetapi mereka berguna juga dan harus jelas.sumber
Bootstrap v4.1 menggunakan nama kelas baru untuk menyembunyikan kolom pada sistem grid mereka.
Untuk menyembunyikan kolom tergantung pada lebar layar, gunakan
d-none
kelas atau salah satud-{sm,md,lg,xl}-none
kelas. Untuk menampilkan kolom pada ukuran layar tertentu, gabungkan kelasd-block
ataud-{sm,md,lg,xl}-block
kelas yang disebutkan di atas .Contohnya adalah:
Lebih banyak di sini .
sumber
Saya tidak berharap bahwa multiple div adalah solusi yang baik.
Saya juga berpikir Anda dapat mengganti
.visible-sm-block
dengan.hidden-xs-down
dan.hidden-md-up
(atau.hidden-sm-down
dan.hidden-lg-up
untuk bertindak atas permintaan media yang sama).hidden-sm-up
kompilasi menjadi:.hidden-sm-down
dan.hidden-lg-up
mengkompilasi menjadi:Kedua situasi harus bertindak sama.
Situasi Anda menjadi berbeda ketika Anda mencoba untuk mengganti
.visible-sm-block
dan.visible-lg-block
. Bootstrap v4 docs memberi tahu Anda:sumber
Pengguna Klaro menyarankan untuk mengembalikan kelas visibilitas lama, yang merupakan ide bagus. Sayangnya, solusi mereka tidak berhasil di proyek saya.
Saya pikir ini adalah ide yang lebih baik untuk mengembalikan mixin lama bootstrap, karena ini mencakup semua breakpoint yang dapat ditentukan secara individual oleh pengguna.
Ini kodenya:
Dalam kasus saya, saya telah memasukkan bagian ini dalam
_custom.scss
file yang disertakan pada titik ini dibootstrap.scss
:sumber
display: block
yang memecah aliran dalam skenario tertentu.http://v4-alpha.getbootstrap.com/layout/responsive-utilities/
Anda sekarang harus mendefinisikan ukuran apa yang disembunyikan
Akan menyembunyikan apa pun dari xs dan lebih kecil, hanya xs
Akan menyembunyikan segalanya
sumber
Untuk bootstrap 4, inilah gambar matriks yang menjelaskan kelas yang digunakan untuk menampilkan / menyembunyikan elemen tergantung pada ukuran layar:
Sumber: Meduim: Bootstrap 4 Tersembunyi & Terlihat
sumber
Bootstrap 4 untuk menyembunyikan seluruh konten menggunakan kelas ini '.d-tidak ada' itu akan menyembunyikan segalanya terlepas dari breakpoints sama seperti kelas versi bootstrap sebelumnya '.hidden'
sumber
Sayangnya kelas bootstrap 4 baru ini tidak berfungsi seperti yang lama pada div menggunakan
collapse
karena mereka mengatur divblock
yang terlihat mulai terlihat daripada tersembunyi dan jika Anda menambahkan div tambahan di sekitarcollapse
fungsi tidak lagi berfungsi.sumber
sumber