Dalam akordeon Bootstrap, alih-alih memerlukan klik pada a
teks, saya ingin membuatnya runtuh ketika mengklik di mana saja di panel-heading
div.
Saya menggunakan Bootstrap 3. Jadi, bukannya akordeon, itu hanya panel yang bisa dilipat. Adakah yang tahu bagaimana melakukan seluruh panel yang dapat diklik?
Jawaban:
Yang perlu Anda lakukan adalah menggunakan ...
data-toggle="collapse"
data-target="#ElementToExpandOnClick"
... pada elemen yang ingin Anda klik untuk memicu efek runtuh / bentangkan.
Elemen dengan
data-toggle="collapse"
akan menjadi elemen untuk memicu efek. Itudata-target
atribut menunjukkan elemen yang akan memperluas ketika efek dipicu.Secara opsional, Anda dapat mengatur
data-parent
jika Anda ingin membuat efek akordeon alih-alih independen dilipat, misalnya:data-parent="#accordion"
Saya juga akan menambahkan CSS berikut ke elemen dengan
data-toggle="collapse"
jika mereka bukan<a>
tag, misalnya:Berikut adalah jsfiddle dengan html yang dimodifikasi dari dokumentasi Bootstrap 3 .
sumber
role="tab button"
dan browser akan menafsirkan yang pertama dalam daftar yang dimengerti (kemungkinan besartab
). Padahal, saya tidak yakin yang mana dari keduanya yang lebih baik. Cobalah untuk menemukan maknatab
danbutton
peran dan yang akan memberikan jawaban untuk yang untuk memilih.Cara lain adalah membuat Anda
<a>
penuh mengisi semua ruangpanel-heading
. Gunakan gaya ini untuk melakukannya:Lihat demo ini ( http://jsfiddle.net/KbQyx/ ).
Kemudian ketika Anda mengklik tajuk, Anda sebenarnya mengklik
<a>
.sumber
Saya telah memperhatikan beberapa kekurangan kecil di jsfiddle suram.
Untuk mendapatkan pointer berubah menjadi satu tangan untuk seluruh panel gunakan:
Saya telah menghapus
<a>
tag (masalah gaya) dan terusdata-toggle="collapse" data-parent="#accordion" data-target="#collapse..."
dipanel-heading
seluruh.Saya telah menambahkan metode CSS untuk menampilkan chevron, menggunakan
font-awesome.css
di jsfiddle saya:http://jsfiddle.net/weaversnap/7FqsX/1/
sumber
panel-heading
kepanel-heading collapsed
untuk memperbaiki chevron terbalik.Inilah solusi untuk Bootstrap4. Anda hanya perlu memasukkan
card-header
kelas ke dalama
tag. Ini adalah modifikasi dari contoh di W3Schools .sumber
Solusi sederhana adalah dengan menghapus bantalan dari
.panel-heading
dan menambah.panel-title a
.Solusi ini mirip dengan yang di atas diposting oleh calfzhou , sedikit berbeda.
sumber
Sebenarnya panel saya memiliki ikon panah keadaan runtuh ini dan saya mencoba jawaban lain di pos ini, tetapi posisi ikon berubah, jadi di sini adalah solusi dengan ikon panah keadaan runtuh .
Tambahkan Custom CSS ini
Kredit diberikan ke penjawab pos ini .
Semoga bisa membantu.
sumber
Berikut adalah contoh kerja untuk Bootstrap 4.3
sumber