Có hai cách tiếp cận để định tâm một cột <div>
trong Bootstrap 3:
Cách tiếp cận 1 (bù đắp):
Cách tiếp cận đầu tiên sử dụng các lớp bù riêng của Bootstrap để nó không yêu cầu thay đổi đánh dấu và không cần thêm CSS. Điều quan trọng là đặt độ lệch bằng một nửa kích thước còn lại của hàng . Vì vậy, ví dụ, một cột có kích thước 2 sẽ được căn giữa bằng cách thêm phần bù 5, đó là (12-2)/2
.
Trong đánh dấu, nó sẽ trông như sau:
<div class="row">
<div class="col-md-2 col-md-offset-5"></div>
</div>
Bây giờ, có một nhược điểm rõ ràng cho phương pháp này. Nó chỉ có tác dụng cho các kích cỡ cột thậm chí , vì vậy chỉ .col-X-2
, .col-X-4
, col-X-6
, col-X-8
, và col-X-10
được hỗ trợ.
Cách tiếp cận 2 (cũ margin:auto
)
Bạn có thể căn giữa bất kỳ kích thước cột bằng cách sử dụng margin: 0 auto;
kỹ thuật đã được chứng minh . Bạn chỉ cần chăm sóc phần nổi được thêm vào bởi hệ thống lưới của Bootstrap. Tôi khuyên bạn nên xác định một lớp CSS tùy chỉnh như sau:
.col-centered{
float: none;
margin: 0 auto;
}
Bây giờ bạn có thể thêm nó vào bất kỳ kích thước cột nào ở bất kỳ kích thước màn hình nào và nó sẽ hoạt động trơn tru với bố cục đáp ứng của Bootstrap:
<div class="row">
<div class="col-lg-1 col-centered"></div>
</div>
Lưu ý: Với cả hai kỹ thuật, bạn có thể bỏ qua .row
phần tử và đặt cột ở giữa .container
, nhưng bạn sẽ nhận thấy sự khác biệt tối thiểu về kích thước cột thực tế do phần đệm trong lớp container.
Cập nhật:
Vì v3.0.1 Bootstrap có một lớp tích hợp có tên center-block
sử dụng margin: 0 auto
, nhưng bị thiếu float:none
, bạn có thể thêm nó vào CSS của mình để làm cho nó hoạt động với hệ thống lưới.