Silakan lihat gambar berikut, kami menggunakan korsel bootstrap untuk memutar gambar. Namun, jika lebar jendela besar, gambar tidak sejajar dengan tepi dengan benar.
Tetapi contoh carousel yang disediakan oleh bootstrap selalu berfungsi dengan baik, tidak peduli lebar jendelanya. Mengikuti kodenya.
Adakah yang bisa menjelaskan mengapa carousel berperilaku berbeda? Apakah ini ada hubungannya dengan ukuran gambar atau beberapa konfigurasi bootstrap hilang?
<section id="carousel">
<div class="hero-unit span6 columns">
<h2>Welcome to TACT !</h2>
<div id="myCarousel" class="carousel slide" >
<!-- Carousel items -->
<div class="carousel-inner">
<div class="item active" >
<img alt="" src="/eboxapps/img/3pp-1.png">
<div class="carousel-caption">
<h4>1. Need a 3rd party jar?</h4>
</div>
</div>
<div class="item">
<img alt="" src="/eboxapps/img/3pp-2.png">
<div class="carousel-caption">
<h4>2. Create Request</h4>
</div>
</div>
<div class="item">
<img alt="" src="/eboxapps/img/3pp-3.png">
<div class="carousel-caption">
<h4>3. What happens?</h4>
</div>
</div>
<div class="item">
<img alt="" src="/eboxapps/img/3pp-4.png">
<div class="carousel-caption">
<h4>4. Status is Emailed</h4>
</div>
</div>
</div>
<!-- Carousel nav -->
<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>
<a class="carousel-control right" href="#myCarousel" data-slide="next">›</a>
</div>
</div>
.span6
wadahnya?Jawaban:
Solusinya adalah dengan memasukkan kode CSS ini ke dalam file CSS khusus Anda:
sumber
height:none
untuk.carousel-inner > .item > img
mendapatkan hasil yang lebih baik daripada defaultheight:500px
.carousel-inner > .carousel-item > img { margin: 0 auto; }
untuk Bootstrap 4.Dengan bootstrap 3, cukup tambahkan kelas responsif dan tengah:
Ini secara otomatis mengubah ukuran gambar, dan memusatkan gambar.
Edit:
Dengan bootstrap 4, cukup tambahkan
img-fluid
kelasnyasumber
text-center
ke<div class="carousel-item">
tag awalSaya menghadapi masalah yang sama dan menyelesaikannya dengan cara ini: Dimungkinkan untuk memasukkan konten non-gambar ke Carousel, jadi kami dapat menggunakannya. Anda harus memasukkan terlebih dahulu
div.inner-item
(di mana Anda akan membuat perataan tengah), dan kemudian menyisipkan gambar di dalam div ini.Ini kode saya (Ruby):
Dan kode css saya (.scss):
sumber
Sementara vekozlov jawaban akan berfungsi di Bootstrap 3 untuk memusatkan gambar Anda, jawaban itu akan rusak saat carousel diperkecil: gambar mempertahankan ukurannya alih-alih diperkecil dengan carousel.
Sebagai gantinya, lakukan ini di carousel level atas
div
:Ini akan memusatkan seluruh carousel dan mencegahnya tumbuh melebihi lebar gambar Anda (yaitu 900 px atau apa pun yang Anda ingin atur). Namun, saat carousel diperkecil, gambar akan diperkecil dengannya.
Anda harus meletakkan info gaya ini di file CSS / LESS Anda, tentunya.
sumber
Di Bootstrap 4, Anda dapat menambahkan
mx-auto
kelas ke fileimg
tag .Misalnya, jika gambar Anda memiliki lebar 75%, akan terlihat seperti ini:
Bootstrap secara otomatis akan diterjemahkan
mx-auto
ke:sumber
Ini mungkin ada hubungannya dengan gaya Anda. Dalam kasus saya, saya menggunakan link dalam div induk "item", jadi saya harus mengubah stylesheet saya untuk mengatakan yang berikut:
di bawah kode boostrap yang sudah ada:
dan gambar saya terlihat seperti:
sumber
Saya pikir saya punya solusi:
Di halaman lembar gaya pribadi Anda, tetapkan lebar & tinggi agar sesuai dengan dimensi gambar Anda.
Buat "kelas" terpisah tambahan di div atas yang menyesuaikan ruang dengan span ... (Ditunjukkan di bawah)
Tanpa menyentuh bootstrap.css, di style sheet Anda sendiri, panggil "carousel" (atau label apa pun yang Anda pilih) agar sesuai dengan lebar dan tinggi gambar asli Anda!
}
Jadi dalam kasus saya, saya menggunakan gambar berukuran 320x200 kecil untuk dijadikan carousel. Mungkin ada dimensi preset di bootstrap.css, tapi saya tidak suka mengubahnya jadi saya bisa mencoba untuk tetap terkini dengan rilis mendatang. Semoga ini bisa membantu ~~
sumber
Saya menghadapi masalah yang sama dengan Anda. Berdasarkan petunjuk @thuliha, kode berikut telah memecahkan masalah saya.
Di dalam
html
file, ubah sebagai contoh berikut:Di
carousel.css
, ubah kelas:sumber
Coba ini
sumber
Apakah gambar Anda memiliki lebar 460px persis seperti span6? Dalam kasus saya, dengan ukuran gambar yang berbeda, saya meletakkan atribut height pada gambar saya untuk memastikan semuanya memiliki tinggi yang sama dan carousel tidak mengubah ukuran antar gambar.
Dalam kasus Anda, coba setel tinggi sehingga rasio antara tinggi ini dan lebar div bagian dalam korsel sama dengan rasio aspek gambar Anda
sumber
Solusi @Art L. Richards tidak berhasil. sekarang di bootstrap.css, kode originalnya menjadi seperti ini.
Kode @ rnaka530 akan merusak fitur fluid dari bootstrap.
Saya tidak memiliki solusi yang baik tetapi saya berhasil memperbaikinya. Saya mengamati contoh carousel bootstrap dengan sangat hati-hati http://twitter.github.com/bootstrap/javascript.html#carousel .
Saya menemukan bahwa lebar img harus lebih besar dari lebar kisi. Dalam
span9
, lebarnya hingga 870px, jadi Anda harus menyiapkan gambar yang lebih besar dari 870px. Jika Anda memiliki lebih banyak kontainer di luar img, karena semua kontainer memiliki batas atau margin sesuatu, Anda dapat menggunakan gambar dengan lebar lebih kecil.sumber
Untuk carousel, saya yakin semua gambar harus memiliki tinggi dan lebar yang sama persis.
Juga, ketika Anda merujuk kembali ke halaman perancah dari bootstrap, saya cukup yakin bahwa span16 = 940px. Dengan pemikiran ini, saya pikir kita dapat berasumsi bahwa jika Anda memiliki file
Jadi ya, Anda harus berhati-hati saat mengatur spasi bentang dalam satu baris karena jika lebar gambar terlalu besar, div Anda akan dikirim ke "baris" berikutnya dan itu tidak menyenangkan: P
Tautan 1
sumber
Masukkan ini pada kelas div induk css tempat carousel Anda berada.
CSS
sumber