Bootstrap pusat penyelarasan gambar responsif 3


423

Saya membuat katalog menggunakan Bootstrap 3. Saat ditampilkan pada tablet, gambar produk terlihat jelek karena ukurannya yang kecil (500x500) dan lebar 767 piksel dalam peramban. Saya ingin meletakkan gambar di tengah layar, tetapi untuk beberapa alasan saya tidak bisa. Siapa yang akan membantu menyelesaikan masalah?

Cuplikan layar bagian dari halaman produk dengan produk yang tidak berada di tengah di bawah judul


5
Saya suka desain situs dan produk Anda - kerja bagus:)
Bojangles

7
Contoh lain dari "Mengapa kita perlu kode tempat ke dalam tubuh pertanyaan".
LEQADA

Jawaban:


572

Jika Anda menggunakan Bootstrap v3.0.1 atau lebih tinggi, Anda harus menggunakan solusi ini sebagai gantinya. Itu tidak mengesampingkan gaya Bootstrap dengan CSS khusus, tetapi sebaliknya menggunakan fitur Bootstrap.

Jawaban asli saya ditunjukkan di bawah ini untuk anak cucu


Ini adalah perbaikan yang sangat mudah dan menyenangkan. Karena .img-responsivedari Bootstrap sudah diset display: block, Anda dapat menggunakan margin: 0 autountuk memusatkan gambar:

.product .img-responsive {
    margin: 0 auto;
}

35
Mungkin lebih baik membuat kelas baru dengan margin: 0 auto, daripada mengubah .img-responsif.
knite

4
Itu pemikiran, meskipun secara pribadi saya tidak bisa memikirkan di mana pun saya ingin gambar responsif tidak terpusat, terutama dengan desain ini. Itu semua tergantung pada use case, dan apa yang akan terjadi di masa depan
Bojangles

Silakan lihat jawaban ini jika Anda menggunakan Bootstrap v4 atau lebih tinggi: stackoverflow.com/a/43293957/4102515
snorberhuis

1156

Ada .center-blockkelas di Twitter Bootstrap 3 ( Sejak v3.0.1 ), jadi gunakan:

<img src="..." alt="..." class="img-responsive center-block" />

27
Ini harus menjadi jawaban yang diterima, karena Anda tidak perlu menambahkan CSS apa pun untuk menggunakannya.
user2602152

16
class="img-responsive" style="margin: 0 auto;"bekerja untuk saya class="img-responsive center-block"tidak (bootstrap 3, tetapi versi berumur beberapa bulan)
mxro

9
Align center tidak berfungsi saat img-responsif digunakan.
Ismael

1
@DHlavaty dapatkah Anda menjelaskan perbedaan antara menggunakan .img-responsif DAN .center-block dan hanya menggunakan .img-responsif dengan margin otomatis seperti jawaban yang diterima menyarankan? Apakah satu metode lebih kuat?
user137717

1
Anda mungkin tidak ingin menggunakan ini jika gambar Anda seharusnya dapat diklik. Artinya, jika dibungkus di dalam <a href="#"> </a>pasangan, area yang dapat diklik akan diperluas ke lebar penuh dari wadah penutup yang mungkin sedikit lebih besar dari gambar Anda. Ini dapat membingungkan pengguna yang mengklik ruang yang mereka anggap "kosong".
CXJ

108

Tambahkan hanya kelas center-blockke gambar, ini bekerja dengan Bootstrap 4 juga:

<img src="..." alt="..." class="center-block" />

Catatan: center-blockberfungsi bahkan saat img-responsivedigunakan


6
Respons terbaik, tapi diremehkan. Itu sebabnya Anda menggunakan kerangka kerja!
Baumannzone

Begitu. Fantastis. Terima kasih
AndrewLeonardi

Kerjanya..Terima kasih
Dhiren Patel

31

Cukup gunakan .text-centerkelas jika Anda menggunakan Bootstrap 3.

<div class="text-center">
    <img src="..." alt="..."/>
</div>

Catatan: Ini tidak berfungsi dengan img-responsif


1
Pertanyaannya adalah tentangimg-responsive
Alexey Kosov

Untuk menambahkan img-responsif img-pusat (diuji pada 3.3.6) bagi mereka yang mungkin melihat ini di pencarian google
DardanM

10

Ini harus memusatkan gambar dan membuatnya responsif.

<img src="..." class="img-responsive" style="margin:0 auto;"/>

6

Saya akan menyarankan klasifikasi yang lebih "abstrak". Tambahkan kelas baru "img-center" yang dapat digunakan dalam kombinasi dengan kelas .img-responsif:

// Center responsive images
.img-responsive.img-center {
  margin: 0 auto;
}

3
@media (max-width: 767px) {
   img {
     display: table;
     margin: 0 auto;
   }
}

2
Mengapa display: table? Sudah display: blockcukup untuk mulai margin: 0 autobekerja
Bojangles

3

Anda masih dapat bekerja dengan img-responsivetanpa memengaruhi gambar lain dengan kelas gaya ini.

Anda dapat mengawali tag ini dengan id bagian / div id / kelas untuk menentukan urutan di mana ini imgbersarang. Kebiasaan img-responsiveini hanya akan berfungsi di area itu.

Misalkan Anda memiliki area HTML yang didefinisikan sebagai:

<section id="work"> 
    <div class="container">
        <div class="row">
            <img class="img-responsive" src="some_image.jpg">
        </div>
    </div>
</section>

Kemudian, CSS Anda dapat:

section#work .img-responsive{
    margin: 0 auto;
}

Catatan: Jawaban ini terkait dengan dampak potensial dari perubahan img-responsivesecara keseluruhan. Tentu saja, center-blockitu solusi paling sederhana.


Jawaban ini kurang dihargai, membungkus gambar dalam kelas baris sangat penting dalam memusatkan gambar ketika ada teks di bawah gambar.
Glenn Plas

3

Coba kode ini, itu akan berfungsi untuk ikon kecil juga dengan bootstrap 4 karena tidak ada kelas pusat-blok bootstrap 4 jadi coba metode ini akan sangat membantu. Anda dapat mengubah posisi gambar dengan mengatur .col-md-12ke .col-md-8atau .col-md-4, terserah Anda.

<div class="container">
       <div class="row">
          <div class="col-md-12">
            <div class="text-xs-center text-lg-center">
           <img src="" class="img-thumbnail">
           </div>
          </div>
       </div>
  </div>

3

Coba ini:

.img-responsive{
    display: block;
    height: auto;
    max-width: 100%;
	  margin:0 auto;
}
.Image{
  background:#ccc;
  padding:30px;
}
<div class="Image">
  <img src="http://minisoft.com.bd/uploads/ourteam/rafiq.jpg" class="img-responsive" title="Rafique" alt="Rafique">
</div>


3

Sederhananya semua gambar mini gambar di dalam baris / kolom div seperti ini:

<div class="row text-center">
 <div class="col-12">
  # your images here...
 </div>
</div>

dan semuanya akan bekerja dengan baik!


2

Untuk menambah jawaban yang sudah diberikan, mengatur img-responsivekombinasi dengan img-thumbnailakan diatur display: blockke display: inline block.


2
<div class="col-md-12 text-center">
    <img class="img-responsive tocenter" />
</div>

.

<style>
   .tocenter {
    margin:0 auto;
    display: inline;
    }
</style>

0

Anda dapat memperbaikinya dengan mendefinisikan margin: 0 otomatis

atau Anda dapat menggunakan col-md-offset juga

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<style>
.img-responsive{
margin:0 auto;
}
</style>
<body>

<div class="container">
  <h2>Image</h2>
<div class="row">
<div class="col-md-12">
  <p>The .img-responsive class makes the image scale nicely to the parent element (resize the browser window to see the effect):</p>                  
  <img src="http://www.w3schools.com/bootstrap/cinqueterre.jpg" class="img-responsive" alt="Cinque Terre" width="304" height="236"> 
</div>
</div>
</div>

</body>
</html>


0

Cara yang lebih tepat diterapkan untuk semua objek Booostrap menggunakan kelas standar saja adalah dengan tidak mengatur margin atas dan bawah (karena gambar dapat mewarisi ini dari orangtua), jadi saya selalu menggunakan:

.text-center .img-responsive {
    margin-left: auto;
    margin-right: auto;
}

Saya juga telah membuat inti untuk itu, jadi jika ada perubahan akan berlaku karena bug, versi pembaruan akan selalu di sini: https://gist.github.com/jdrda/09a38bf152dd6a8aff4151c58679cc66


0

Sejauh ini tampaknya solusi terbaik untuk diterima <img class="center-block" ... />. Tapi tidak ada yang menyebutkan cara center-blockkerjanya.

Ambil Bootstrap v3.3.6 misalnya:

.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

Nilai default dispalyuntuk <img>adalah inline. Nilai blockakan menampilkan elemen sebagai elemen blok (seperti <p>). Itu dimulai pada baris baru, dan mengambil seluruh lebar. Dengan cara ini, dua pengaturan margin membiarkan gambar tetap di tengah secara horizontal.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.