Ada dua pendekatan untuk memusatkan kolom <div>
di Bootstrap 3:
Pendekatan 1 (offset):
Pendekatan pertama menggunakan kelas offset Bootstrap sendiri sehingga tidak memerlukan perubahan markup dan tidak ada CSS tambahan. Kuncinya adalah untuk mengatur offset sama dengan setengah dari ukuran baris yang tersisa . Jadi misalnya, kolom ukuran 2 akan dipusatkan dengan menambahkan offset 5, itu (12-2)/2
.
Dalam markup ini akan terlihat seperti:
<div class="row">
<div class="col-md-2 col-md-offset-5"></div>
</div>
Sekarang, ada kelemahan yang jelas untuk metode ini. Ini hanya bekerja untuk ukuran kolom bahkan , sehingga hanya .col-X-2
, .col-X-4
, col-X-6
,col-X-8
, dan col-X-10
didukung.
Pendekatan 2 (yang lama margin:auto
)
Anda dapat memusatkan ukuran kolom apa pun dengan menggunakan margin: 0 auto;
teknik yang terbukti . Anda hanya perlu merawat floating yang ditambahkan oleh sistem grid Bootstrap. Saya sarankan mendefinisikan kelas CSS khusus seperti berikut:
.col-centered{
float: none;
margin: 0 auto;
}
Sekarang Anda dapat menambahkannya ke ukuran kolom apa pun pada ukuran layar apa pun, dan itu akan bekerja secara mulus dengan tata letak responsif Bootstrap:
<div class="row">
<div class="col-lg-1 col-centered"></div>
</div>
Catatan: Dengan kedua teknik ini, Anda dapat melewati .row
elemen dan menempatkan kolom di tengah a .container
, tetapi Anda akan melihat perbedaan minimal dalam ukuran kolom sebenarnya karena padding di kelas kontainer.
Memperbarui:
Karena v3.0.1 Bootstrap memiliki kelas bawaan bernama center-block
yang menggunakan margin: 0 auto
, tetapi tidak ada float:none
, Anda dapat menambahkan itu ke CSS Anda untuk membuatnya bekerja dengan sistem grid.
.clearfix
tidak akan bekerja dalam kasus ini karena tidak menghapus properti float pada elemen (yang diperlukan untuk menggunakan pusatmargin: 0 auto
), itu hanya membuat wadah membungkus elemenfloat:none;
Metode yang disukai dari keterpusatan kolom adalah dengan menggunakan "offset" (yaitu:
col-md-offset-3
)Bootstrap 3.x contoh pemusatan
Untuk elemen pemusatan , ada
center-block
kelas pembantu .Anda juga dapat menggunakan
text-center
untuk memusatkan teks (dan elemen sebaris).Demo : http://bootply.com/91632
EDIT - Seperti disebutkan dalam komentar,
center-block
bekerja pada konten dandisplay:block
elemenkolom, tetapi tidak akan berfungsi pada kolom itu sendiri (col-*
div) karena Bootstrap menggunakanfloat
.Perbarui 2018
Sekarang dengan Bootstrap 4 , metode pemusatan telah berubah ..
text-center
masih digunakan untukdisplay:inline
elemenmx-auto
menggantikan elemencenter-block
pusatdisplay:block
offset-*
ataumx-auto
dapat digunakan untuk memusatkan kolom kotakmx-auto
(margin auto x-axis) akan berpusatdisplay:block
ataudisplay:flex
elemen yang memiliki lebar didefinisikan , (%
,vw
,px
, dll ..). Flexbox digunakan secara default pada kolom kisi, jadi ada juga berbagai metode pemusatan flexbox.Demo Bootstrap 4 Pemusatan Horizontal
Untuk pemusatan vertikal di BS4 lihat https://stackoverflow.com/a/41464397/171456
sumber
text-center
detail - yang tidak ada jawaban lain yang diberikan. Yang ini mendapat suara saya.float:none;
Sekarang Bootstrap 3.1.1 bekerja dengan baik
.center-block
, dan kelas pembantu ini bekerja dengan sistem kolom.Pusat Kelas Penolong Bootstrap 3 .
Silakan periksa jsfiddle DEMO ini :
Pusat kolom baris menggunakan
col-center-block
kelas helper.sumber
float:none
dengan memastikan div pusat-blok memilikistyle="width : ?px"
gaya yang diterapkan padanya. Misalnya lebar gambar. Bekerja dengan 3.2.2Cukup tambahkan berikut ini ke file CSS khusus Anda. Mengedit Bootstrap file CSS secara langsung tidak disarankan dan membatalkan kemampuan Anda untuk menggunakan CDN .
Mengapa?
Bootstrap CSS (versi 3.7 dan lebih rendah) menggunakan margin: 0 otomatis;, tetapi akan ditimpa oleh properti float dari wadah ukuran.
PS :
Setelah Anda menambahkan kelas ini, jangan lupa untuk mengatur kelas dengan urutan yang benar.
sumber
3.3.7
dan ini adalah satu-satunya metode yang bekerja untuk saya!!important
perluBootstrap 3 sekarang memiliki kelas bawaan untuk ini
.center-block
Jika Anda masih menggunakan 2.X maka tambahkan saja ini ke CSS Anda.
sumber
float:none;
Pendekatan saya ke kolom tengah adalah untuk digunakan
display: inline-block
untuk kolom dantext-align: center
untuk induk wadah.Anda hanya perlu menambahkan kelas CSS 'terpusat' ke
row
.HTML:
CSS:
JSFiddle: http://jsfiddle.net/steyffi/ug4fzcjd/
sumber
Bootstrap versi 3 memiliki kelas .text-center.
Cukup tambahkan kelas ini:
Ini hanya akan memuat gaya ini:
Contoh:
sumber
Dengan Bootstrap v4, ini dapat dicapai hanya dengan menambahkan
.justify-content-center
ke.row
<div>
https://getbootstrap.com/docs/4.0/utilities/flex/#justify-content
sumber
Ini bekerja. Cara hackish mungkin, tetapi bekerja dengan baik. Itu diuji untuk responsif (Y).
sumber
img
dapat ditetapkan sebagai blok..centered img { display: inline; }
jawaban Anda dan kemudian akan layak untuk dipilih.sumber
Untuk memusatkan col- kita perlu menggunakan kode di bawah ini. cols adalah elemen floater selain margin otomatis. Kami juga akan mengaturnya untuk tidak melayang,
Untuk memusatkan col-lg-1 di atas dengan kelas centered, kita akan menulis:
Untuk memusatkan konten di dalam div, gunakan
text-align:center
,Jika Anda ingin memusatkannya hanya pada desktop dan layar yang lebih besar, bukan pada seluler, gunakan kueri media berikut.
Dan untuk memusatkan div hanya pada versi seluler, gunakan kode di bawah ini.
sumber
Cukup atur satu kolom Anda yang menampilkan konten ke col-xs-12 (mobile-first ;-) dan konfigurasikan wadah hanya untuk mengontrol seberapa lebar Anda ingin konten terpusat Anda menjadi, jadi:
Untuk demo, lihat http://codepen.io/Kebten/pen/gpRNMe :-)
sumber
Pendekatan lain untuk mengimbangi adalah memiliki dua baris kosong, misalnya:
sumber
Anda dapat menggunakan
text-center
untuk baris dan dapat memastikan div internal telahdisplay:inline-block
(dengan tidakfloat
).Sebagai:
Dan CSS:
Biola: http://jsfiddle.net/DTcHh/3177/
sumber
Dengan bootstrap 4 Anda cukup mencoba
justify-content-md-center
seperti yang disebutkan di sinisumber
Ini mungkin bukan jawaban terbaik, tetapi ada satu lagi solusi kreatif untuk ini. Seperti yang ditunjukkan oleh koala_dev, kolom offset hanya berfungsi untuk ukuran kolom genap. Namun, dengan menyusun baris, Anda dapat mencapai kolom centering yang tidak rata juga.
Untuk tetap dengan pertanyaan asli di mana Anda ingin memusatkan kolom 1 di dalam kisi 12.
Sebagai contoh:
Lihat biola ini , harap dicatat bahwa Anda harus meningkatkan ukuran jendela output agar juga melihat hasilnya, jika tidak kolom akan membungkus.
sumber
Ini bukan kode saya, tetapi berfungsi dengan baik (diuji pada Bootstrap 3) dan saya tidak perlu dipusingkan dengan col-offset.
Demo:
sumber
Kita dapat mencapai ini dengan menggunakan mekanisme tata letak tabel:
Mekanismenya adalah:
Contoh demo ada di sini
sumber
Tambahkan potongan berikut di dalam .row atau .col Anda. Ini untuk Bootstrap 4 *.
sumber
Seperti yang digunakan koala_dev dalam pendekatannya 1, saya lebih suka metode offset daripada blok-tengah atau margin yang penggunaannya terbatas, tetapi seperti yang ia sebutkan:
Ini dapat dipecahkan dengan menggunakan pendekatan berikut untuk kolom aneh.
sumber
Anda dapat menggunakan flexbox solusi yang sangat fleksibel untuk Bootstrap Anda.
dapat memusatkan kolom Anda.
Lihat fleksibel .
sumber
Karena saya tidak pernah memiliki kebutuhan untuk memusatkan hanya satu di
.col-
dalam a.row
, saya mengatur kelas berikut pada pembungkus.row
kolom target saya.Contoh
sumber
Bagi mereka yang ingin memusatkan elemen kolom di layar ketika Anda tidak memiliki jumlah pasti untuk mengisi kisi Anda, saya telah menulis sedikit JavaScript untuk mengembalikan nama kelas:
Jika Anda memiliki 5 elemen dan Anda ingin memiliki 3 per baris pada
md
layar, lakukan ini:Perlu diingat, argumen kedua harus dibagi 12.
sumber
Untuk memusatkan lebih dari satu kolom di baris Bootstrap - dan jumlah cols ganjil, cukup tambahkan
css
kelas ini ke semua kolom di baris itu:Jadi dalam HTML Anda, Anda memiliki sesuatu seperti:
sumber
Coba ini
Anda dapat menggunakan lainnya
col
juga seperticol-md-2
, dll.sumber
Saya hanya menyarankan untuk menggunakan kelas
text-center
:sumber
Coba kode ini.
Di sini saya telah menggunakan col-lg-1, dan offset harus 10 untuk benar memusatkan div pada perangkat besar. Jika Anda membutuhkannya untuk memusatkan pada perangkat menengah ke besar maka ubah saja lg ke md dan seterusnya.
sumber
Solusi Bootstrap 4 :
sumber
Jika Anda meletakkan ini di baris Anda, semua kolom di dalamnya akan berada di tengah:
sumber
Untuk lebih tepatnya sistem grid Bootstrap berisi 12 kolom dan untuk memusatkan konten apa pun, misalkan, konten tersebut mengambil satu kolom. Seseorang harus menempati dua kolom dari kisi Bootstrap dan menempatkan konten pada setengah dari dua kolom yang ditempati.
'col-xs-offset-5' memberi tahu sistem grid tempat untuk mulai menempatkan konten.
'col-xs-2' memberi tahu sistem grid berapa banyak kolom sisa yang harus ditempati oleh konten.
'centered' akan menjadi kelas yang ditentukan yang akan memusatkan konten.
Berikut ini contohnya di sistem grid Bootstrap.
Kolom:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
....... diimbangi ....... .data. .......tidak digunakan........
sumber