Saya sedang mencari cara untuk memusatkan container
div secara vertikal di dalam jumbotron
dan untuk meletakkannya di tengah halaman.
The .jumbotron
harus disesuaikan dengan tinggi penuh dan lebar layar. The .container
div memiliki lebar 1025px
dan harus di tengah-tengah halaman (vertikal pusat).
Saya ingin halaman ini memiliki jumbotron yang disesuaikan dengan tinggi dan lebar layar bersama dengan wadah yang secara vertikal berada di tengah jumbotron. Bagaimana saya bisa mencapainya?
.jumbotron {
height:100%;
width:100%;
}
.container {
width:1025px;
}
.jumbotron .container {
max-width: 100%;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class="jumbotron">
<div class="container text-center">
<h1>The easiest and powerful way</h1>
<div class="row">
<div class="col-md-7">
<div class="top-bg"></div>
</div>
<div class="col-md-5 iPhone-features" style="margin-left:-25px;">
<ul class="top-features">
<li>
<span><i class="fa fa-random simple_bg top-features-bg"></i></span>
<p><strong>Redirect</strong><br>Visitors where they converts more.</p>
</li>
<li>
<span><i class="fa fa-cogs simple_bg top-features-bg"></i></span>
<p><strong>Track</strong><br>Views, Clicks and Conversions.</p>
</li>
<li>
<span><i class="fa fa-check simple_bg top-features-bg"></i></span>
<p><strong>Check</strong><br>Constantly the status of your links.</p>
</li>
<li>
<span><i class="fa fa-users simple_bg top-features-bg"></i></span>
<p><strong>Collaborate</strong><br>With Customers, Partners and Co-Workers.</p>
</li>
<a href="pricing-and-signup.html" class="btn-primary btn h2 lightBlue get-Started-btn">GET STARTED</a>
<h6 class="get-Started-sub-btn">FREE VERSION AVAILABLE!</h6>
</ul>
</div>
</div>
</div>
</div>
html
css
twitter-bootstrap
twitter-bootstrap-3
vertical-alignment
pengguna1012181
sumber
sumber
Jawaban:
Cara kotak yang fleksibel
Perataan vertikal sekarang sangat sederhana dengan menggunakan tata letak kotak fleksibel . Saat ini, metode ini didukung di berbagai browser web kecuali Internet Explorer 8 & 9. Oleh karena itu kita perlu menggunakan beberapa hacks / polyfill atau pendekatan yang berbeda untuk IE8 / 9.
Berikut ini saya akan menunjukkan kepada Anda bagaimana melakukannya hanya dalam 3 baris teks (terlepas dari sintaks flexbox lama) .
Catatan: lebih baik menggunakan kelas tambahan daripada mengubah
.jumbotron
untuk mencapai perataan vertikal. Saya akan menggunakanvertical-center
nama kelas misalnya.Contoh Di Sini (A Mirror on jsbin) .
Catatan penting (Dipertimbangkan dalam demo) :
Sebuah persentase nilai
height
ataumin-height
sifat relatif terhadapheight
elemen induk, karena itu Anda harus menentukanheight
induk eksplisit.Sintaks flexbox prefixed / old vendor dihilangkan dalam snippet yang diposting karena singkatnya, tetapi ada dalam contoh online.
Dalam beberapa web browser lama seperti Firefox 9 (di mana saya telah diuji) , wadah fleksibel -
.vertical-center
dalam hal ini - tidak akan mengambil ruang yang tersedia dalam induk, oleh karena itu kita perlu menentukanwidth
properti seperti:width: 100%
.Juga di beberapa browser web seperti yang disebutkan di atas, item fleksibel -
.container
dalam hal ini - mungkin tidak muncul di tengah secara horizontal. Tampaknya diterapkan kiri / kananmargin
dariauto
tidak memiliki efek pada item fleksibel.Karena itu kita perlu menyelaraskannya dengan
box-pack / justify-content
.Untuk perincian lebih lanjut dan / atau penyejajaran vertikal kolom, Anda bisa merujuk ke topik di bawah ini:
Cara tradisional untuk browser web lawas
Ini adalah jawaban lama yang saya tulis pada saat saya menjawab pertanyaan ini. Metode ini telah dibahas di sini dan seharusnya berfungsi di Internet Explorer 8 dan 9 juga. Saya akan menjelaskannya secara singkat:
Dalam aliran inline, elemen level inline dapat disejajarkan secara vertikal ke tengah dengan
vertical-align: middle
deklarasi. Spesifikasi dari W3C :Dalam kasus dimana induk -
.vertical-center
elemen dalam kasus ini - memiliki eksplisitheight
, kebetulan jika kita dapat memiliki elemen anak yang sama persisheight
dengan induknya, kita akan dapat memindahkan garis dasar induk ke titik tengah penuh anak tinggi dan secara mengejutkan membuat anak in-flow yang diinginkan.container
- selaras dengan pusat secara vertikal.Menyatukan semua
Yang sedang berkata, kita bisa membuat elemen penuh-tinggi di dalam elemen
.vertical-center
by::before
atau::after
pseudo dan juga mengubahdisplay
tipe defaultnya dan anak lain, the.container
keinline-block
.Kemudian gunakan
vertical-align: middle;
untuk meluruskan elemen sebaris secara vertikal.Ini dia:
DEMO KERJA .
Juga, untuk mencegah masalah tak terduga di layar ekstra kecil, Anda dapat mengatur ulang ketinggian elemen pseudo ke
auto
atau0
atau mengubahdisplay
tipenyanone
jika diperlukan:DEMO DIPERBARUI
Dan satu hal lagi:
Jika ada
footer
/header
bagian di sekitar wadah, lebih baik posisikan elemen-elemen itu dengan benar (relative
,absolute
? Terserah Anda.) Dan tambahkanz-index
nilai yang lebih tinggi (untuk jaminan) agar tetap di atas yang lain.sumber
display: flex
ke.container
, itu menyebabkan anak.row
s untuk flip out. Sepertinya cara flexbox mengharuskan kita untuk tidak menggunakan beberapa fitur bootstrap utama?Perbarui 2019
Bootstrap 4 menyertakan flexbox, sehingga metode pemusatan vertikal jauh lebih mudah dan tidak memerlukan CSS tambahan .
Cukup gunakan
d-flex
danalign-items-center
kelas utilitas ..http://www.codeply.com/go/ui6ABmMTLv
Penting: Pemusatan vertikal relatif terhadap ketinggian . Wadah induk dari item yang Anda coba pusatkan harus memiliki ketinggian yang ditentukan . Jika Anda ingin ketinggian halaman digunakan
vh-100
ataumin-vh-100
pada induknya! Sebagai contoh:Lihat juga: Vertical Align Center di Bootstrap 4
sumber
tambahkan Bootstrap.css lalu tambahkan ini ke css Anda
sumber
Di Bootstrap 4 :
untuk memusatkan anak secara horizontal , gunakan kelas bootstrap-4:
untuk memusatkan anak secara vertikal , gunakan kelas bootstrap-4:
tapi ingat jangan lupa untuk menggunakan kelas d-flex dengan ini kelas utilitas bootstrap-4, seperti itu
Catatan: pastikan untuk menambahkan utilitas bootstrap-4 jika kode ini tidak berfungsi
Saya tahu itu bukan jawaban langsung untuk pertanyaan ini tetapi mungkin membantu seseorang
sumber
Teknik pilihan saya:
Demo
Lihat juga Fiddle ini !
sumber
Diuji dalam IE, Firefox, dan Chrome.
Ditemukan di https://css-tricks.com/centering-css-complete-guide/
sumber
untuk pusat vertikal bootstrap4 beberapa item
d-flex untuk aturan fleksibel
kolom fleksibel untuk arah vertikal pada item
justify-content-center untuk pemusatan
style = 'height: 300px;' harus memiliki titik setel di mana center dikalk atau menggunakan kelas h-100
kemudian untuk pusat horisontal div d-flex justify-content-center dan beberapa wadah
jadi kami memiliki hierarki 3 tag: div-kolom -> div-row -> div-container
sumber
Jika Anda menggunakan Bootstrap 4, Anda hanya perlu menambahkan 2 div:
Kelas-kelas: d-table, d-table-cell, w-100, h-100 dan align-middle akan melakukan pekerjaan
sumber
Berikan kelas kontainer
Berikan div yang ada di dalam wadah:
Semua konten di dalam div ini akan muncul di tengah halaman.
sumber
Berikut adalah cara yang saya gunakan untuk menyelaraskan konten secara vertikal - atas / tengah / bawah dengan 3 baris bootstrap. Bootstrap 3 kolom dengan ketinggian yang sama dan rata secara vertikal.
Ini demo JSFiddle .
sumber