Cập nhật 2019 - Bootstrap 4
"Nội dung trung tâm" có thể có nghĩa là nhiều thứ khác nhau và định tâm Bootstrap đã thay đổi rất nhiều kể từ bài đăng gốc.
Trung tâm ngang
Bootstrap 3
text-center
được sử dụng cho display:inline
các yếu tố
center-block
đến display:block
các yếu tố trung tâm
col-*offset-*
đến cột lưới trung tâm
- xem câu trả lời này để tập trung vào thanh điều hướng
Demo Bootstrap 3 Định tâm ngang
Bootstrap 4
text-center
vẫn được sử dụng cho display:inline
các yếu tố
mx-auto
thay thế center-block
cho display:block
các yếu tố trung tâm
offset-*
hoặc mx-auto
có thể được sử dụng để cột trung tâm
justify-content-center
trong row
cũng có thể được sử dụng để trung tâmcol-*
mx-auto
(lề tự động trục x) sẽ tập trung display:block
hoặc display:flex
nguyên tố có chiều rộng định nghĩa , ( %
, vw
, px
, vv ..). Flexbox được sử dụng theo mặc định trên các cột lưới, do đó cũng có các phương pháp định tâm flexbox khác nhau.
Demo Bootstrap 4 Định tâm ngang
Trung tâm dọc
Giờ đây, Bootstrap 4 là flexbox theo mặc định, có nhiều cách tiếp cận khác nhau để căn chỉnh theo chiều dọc bằng cách sử dụng: lề tự động , dụng cụ flexbox hoặc các tiện ích hiển thị cùng với các tiện ích căn chỉnh dọc . Lúc đầu "tiện ích căn chỉnh dọc" có vẻ rõ ràng nhưng chúng chỉ hoạt động với các yếu tố hiển thị nội tuyến và bảng. Dưới đây là một số tùy chọn định tâm dọc Bootstrap 4 ..
1 - Trung tâm dọc sử dụng lề tự động:
Một cách khác để trung tâm theo chiều dọc là sử dụng my-auto
. Điều này sẽ tập trung vào phần tử trong thùng chứa của nó. Ví dụ: h-100
làm cho hàng đầy đủ chiều cao và my-auto
sẽ căn giữa col-sm-12
cột.
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
Vertical Center Sử dụng Auto Margins Demo
my-auto
đại diện cho lề trên trục y dọc và tương đương với:
margin-top: auto;
margin-bottom: auto;
2 - Trung tâm dọc với Flexbox:
Vì Bootstrap 4 .row
bây giờ, display:flex
bạn chỉ cần sử dụng align-self-center
trên bất kỳ cột nào để căn giữa theo chiều dọc ...
<div class="row">
<div class="col-6 align-self-center">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
hoặc, sử dụng align-items-center
trên toàn bộ .row
trung tâm theo chiều dọc, sắp xếp tất cả col-*
trong hàng ...
<div class="row align-items-center">
<div class="col-6">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
Vertical Center Cột khác nhau Chiều cao Demo
3 - Trung tâm dọc sử dụng các tiện ích hiển thị:
Bootstrap 4 có utils hiển thị có thể được sử dụng cho display:table
, display:table-cell
, display:inline
, vv .. Đây có thể được sử dụng với các utils kết theo chiều dọc để inline class, inline-block hoặc các yếu tố ô trong bảng.
<div class="row h-50">
<div class="col-sm-12 h-100 d-table">
<div class="card card-block d-table-cell align-middle">
I am centered vertically
</div>
</div>
</div>
Trung tâm dọc sử dụng Display Utils Demo