Bagaimana menyelaraskan pusat gambar mati dengan bootstrap


207

Saya menggunakan kerangka bootstrap dan mencoba untuk mendapatkan gambar yang terpusat secara horizontal tanpa hasil ..

Saya sudah mencoba berbagai teknik seperti membelah sistem 12 grid dalam 3 blok yang sama misalnya

<div class="container">
    <div class="row">
      <div class="span4"></div>
      <div class="span4"><img src="logo.png" /></div>
      <div class="span4"></div>
    </div>
</div>

Apa metode termudah untuk membuat gambar terpusat relatif terhadap halaman?


Dan btw. Anda mungkin ingin melihat bagian "Kolom offset". twitter.github.com/bootstrap/scaffolding.html#gridSystem
mind85

Seseorang telah menandai ini sebagai bukan jawaban, dan saya setuju. Harap tambahkan ini sebagai komentar, dan jawaban Anda akan segera dihapus.
tckmn

1
Jika Anda memiliki img-responsivekelas pada imgtag Anda , gambar mungkin tidak terpusat. Lihat jawaban SO ini untuk penjelasan mengapa menggunakancenter-blockkelasbootstrapakan menyelesaikan masalah dengan cara bootstrap.
cssyphus

Jika Anda menggunakan bootstrap, Anda dapat melakukannya: stackoverflow.com/a/59469712/4654957
Diego Venâncio

Jawaban:


271

Twitter Bootstrap v3.0.3 memiliki kelas: blok-tengah

Pusatkan blok konten

Setel elemen untuk ditampilkan: blok dan pusatkan melalui margin. Tersedia sebagai mixin dan kelas.

Hanya perlu menambahkan kelas .center-blockdi imgtag, terlihat seperti ini

<div class="container">
  <div class="row">
    <div class="span4"></div>
    <div class="span4"><img class="center-block" src="logo.png" /></div>
    <div class="span4"></div>
  </div>
</div>

Di Bootstrap sudah ada panggilan gaya css .center-block

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

Anda dapat melihat sampel dari sini


1
</div>tag penutup pada containerdiv terlihat hilang. ini tidak berfungsi untuk saya pada v3.3.7
tarabyte

141

Cara yang benar untuk melakukan ini adalah

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

25
ini tidak bekerja untuk saya ketika menggunakannya pada ini - startbootstrap.com/round-about .. tetapi menambahkan kelas center-blockke <img>elemen bekerja ..
Sumeet Pareek

3
text-center tidak akan bekerja pada gambar dengan kelas img-responsif tetapi komentar di atas (tentang blok-tengah) menyelesaikan masalah ini
trojan

Pengamatan: Dalam Bootstrap v3.1.0 dimungkinkan untuk memusatkan img-responsif dalam kolom dengan menambahkan pusat teks ke kolom. Perilaku ini rusak di v3.3.4. Sangat menyebalkan. Css menyebalkan.
f470071

Anda harus menggunakan blok-tengah sebagai gantinya, seperti yang dikatakan dalam dokumen: getbootstrap.com/css/#images-responsive
Nacho

95

Perbarui 2018

The center-blockkelas tidak ada lagi di Bootstrap 4 . Untuk memusatkan gambar di Bootstrap 4, gunakan mx-auto d-block...

<img src="..." class="mx-auto d-block"/>

6
Hanya dengan menambahkan sedikit penjelasan ke 'Pembaruan 2018': mx-auto mengatur margin kiri dan kanan ke otomatis; d-block set display: block
Michael Moriarty

85

Tambahkan 'blok-tengah' ke gambar sebagai kelas - tidak perlu css tambahan

<img src="images/default.jpg" class="center-block img-responsive"/>

8
Tidak yakin mengapa -1 - INI ADALAH JAUH JAWABAN TERBAIK! Ia menggunakan kelas helper build ke Bootstrap.
user2562923

4
Di bootstrap 4, gunakan mx-autosebagai ganticenter-block
Quantum7

52

Bootstrap Twitter memiliki kelas yang berpusat: .paginasi berpusat

Ini berhasil saya lakukan:

<div class="row-fluid">
   <div class="span12 pagination-centered"><img src="header.png" alt="header" /></div>
</div>

Css untuk kelas adalah:

.pagination-centered {
  text-align: center;
}

18
Atau mungkin .text-centerkelas?
trejder

36

Anda bisa menggunakan yang berikut ini. Ini mendukung Bootstrap 3.x di atas.

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

Terima kasih untuk ini. Apa yang saya butuhkan hari ini.
Ryan Wilson

28

Dengan asumsi tidak ada yang lain di samping gambar, cara terbaik adalah menggunakan text-align: centerdi imginduk:

.row .span4 {
    text-align: center;
}

Edit

Seperti disebutkan dalam jawaban lain, Anda bisa menambahkan kelas CSS bootstrap .text-centerke elemen induk. Ini melakukan hal yang persis sama dan tersedia di v2.3.3 dan v3


Sempurna - Itu berhasil. Tetapi katakanlah saya memiliki elemen <ul> di bawah gambar ... Ini tidak sejajar dengan pusat seperti yang diharapkan, apakah ada yang bisa saya tambahkan? Terima kasih
Fixer

1
Sejak .row di salah satu kelas inti di twitter bootstrap. Saya akan merekomendasikan untuk mendefinisikan kelas baru seperti di halaman ini twitter.github.com/bootstrap/index.html dengan masthead kelas.
baptme

1
@Fixer <ul>Masih harus menyelaraskan pusat: jsfiddle.net/N74N7/1 Pasti ada kode CSS lain yang memengaruhinya
My Head Hurts

menghabiskan lebih dari 2 atau 3 jam dan hanya baris ini ... terima kasih!
alamin

18

Bekerja untukku. coba gunakancenter-block

<div class="container row text-center">
    <div class="row">
      <div class="span4"></div>
      <div class="span4"><img class="center-block" src="logo.png" /></div>
      <div class="span4"></div>
    </div>
</div>

6

Saya memerlukan hal yang sama dan di sini saya menemukan solusinya:

https://stackoverflow.com/a/15084576/1140407

<div class="container">
  <div class="row">
    <div class="span9 centred">
      This div will be centred.
    </div>
  </div>
</div>

dan ke CSS:

[class*="span"].centred {
  margin-left: auto;
  margin-right: auto;
  float: none;
}

Saya pikir orang bootstrap perlu menambahkannya ke css mereka
Muhammad Ahsan

Hai, terima kasih! Saya menggunakan Bootstrap v3 sekarang. Saya menambahkan ini ke div wadah img saya, jadi saya harus menentukan lebar yang tepat (setidaknya) untuk div saya untuk membuat sesuatu berfungsi. Jika Anda tidak memiliki wadah atau ukuran gambar yang bervariasi, tambahkan kelas ini ke gambar Anda.
Inan

1

Anda dapat menggunakan properti margin dengan kelas img bootstrap.

.name-of-class .img-responsive { margin: 0 auto; }

1

Tampaknya kami dapat menggunakan fitur HTML5 baru jika versi browser tidak menjadi masalah:

dalam file HTML:

<div class="centerBloc">
  I will be in the center
</div>

Dan dalam file CSS, kita menulis:

body .centerBloc {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

Dan div bisa menjadi pusat perhatian di browser.


3
Kelas div Anda disebut .centerBloc dan file css Anda menunjukkan body.loadingDiv ...
Martin

Tetap sekarang
@Martin

0

Kamu harus menggunakan

<div class="row fluid-img">
  <img class="col-lg-12 col-xs-12" src="src.png">
</div>

.fluid-img {
    margin: 60px auto;
}

@media( min-width: 768px ){
        .fluid-img {
            max-width: 768px;
        }
}
@media screen and (min-width: 768px) {
        .fluid-img {
            padding-left: 0;
            padding-right: 0;
        }
}

0

Saya menggunakan justify-content-centerkelas ke baris dalam sebuah wadah. Bekerja dengan baik dengan Bootstrap 4.

<div class="container-fluid">
  <div class="row justify-content-center">
   <img src="logo.png" />
  </div>
</div>

0

Saya membuat ini dan menambahkan ke Site.css.

.img-responsive-center {
    display: block;
    height: auto;
    max-width: 100%;
    margin-left:auto;
    margin-right:auto;
}

-3

Anda dapat mengubah CSS dari solusi sebelumnya seperti di bawah ini:

.container, .row { text-align: center; }

Ini harus memusatkan semua elemen di induk divjuga.

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.