Trong Bootstrap 4, người ta nên sử dụng text-center
lớp để căn chỉnh các khối nội tuyến .
LƯU Ý: text-align:center;
được định nghĩa trong một lớp tùy chỉnh mà bạn áp dụng cho phần tử mẹ của mình sẽ hoạt động bất kể phiên bản Bootstrap bạn đang sử dụng. Và đó chính xác là những gì .text-center
áp dụng.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="container">
<div class="row">
<div class="col text-center">
<button class="btn btn-default">Centered button</button>
</div>
</div>
</div>
Nếu nội dung cần căn giữa là khối hoặc flex (không phải inline-
), người ta có thể sử dụng flexbox để căn giữa:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="d-flex justify-content-center">
<button class="btn btn-default">Centered button</button>
</div>
... áp dụng display: flex; justify-content: center
cho phụ huynh.
Lưu ý: không sử dụng .row.justify-content-center
thay vì .d-flex.justify-content-center
, như .row
áp dụng biên độ tiêu cực đối với khoảng thời gian đáp ứng nhất định, mà kết quả vào thanh cuộn ngang bất ngờ (trừ khi .row
là một đứa trẻ trực tiếp .container
, áp dụng đệm bên để chống lại lề tiêu cực, trên khoảng đáp ứng đúng). Nếu bạn phải sử dụng .row
, vì bất kỳ lý do gì, hãy ghi đè lề và phần đệm của nó .m-0.p-0
, trong trường hợp đó, bạn sẽ có khá nhiều kiểu giống như .d-flex
.
Lưu ý quan trọng: Giải pháp thứ hai có vấn đề khi nội dung được căn giữa (nút) vượt quá chiều rộng của cha ( .d-flex
), đặc biệt là khi cha có chiều rộng khung nhìn, cụ thể là vì nó không thể cuộn theo chiều ngang đến đầu nội dung (trái- phần lớn).
Vì vậy, không sử dụng nó khi nội dung được căn giữa có thể trở nên rộng hơn chiều rộng gốc có sẵn và tất cả nội dung đều có thể truy cập được.