Tôi có một trang web đơn giản với một số nội dung Lipsum được căn giữa trang. Trang hoạt động tốt trong Chrome và Firefox. Nếu tôi giảm kích thước của cửa sổ, nội dung sẽ lấp đầy cửa sổ cho đến khi không thể, sau đó thêm thanh cuộn và lấp đầy nội dung ngoài màn hình, về phía dưới cùng.
Tuy nhiên, trang không nằm giữa IE11. Tôi có thể đưa trang vào giữa trong IE bằng cách uốn cong phần thân, nhưng nếu tôi làm vậy, thì nội dung bắt đầu rời khỏi màn hình về phía trên cùng và cắt khỏi phần trên cùng của nội dung.
Dưới đây là hai kịch bản. Xem Fiddles liên quan. Nếu vấn đề không rõ ràng ngay lập tức, hãy giảm kích thước của cửa sổ kết quả để nó buộc phải tạo một thanh cuộn.
Lưu ý: Ứng dụng này chỉ nhắm mục tiêu đến các phiên bản mới nhất của Firefox, Chrome và IE (IE11), tất cả đều có hỗ trợ cho Đề xuất ứng viên của Flexbox , vì vậy tính tương thích không phải là một vấn đề (trên lý thuyết).
Chỉnh sửa : Khi sử dụng API toàn màn hình để hiển thị toàn màn hình div bên ngoài, tất cả các trình duyệt căn giữa chính xác bằng cách sử dụng CSS gốc. Tuy nhiên, khi rời khỏi chế độ toàn màn hình, IE sẽ quay trở lại căn giữa theo chiều ngang và căn trên theo chiều dọc.
Chỉnh sửa : IE11 sử dụng triển khai Flexbox cụ thể không phải của nhà cung cấp. Cập nhật bố cục hộp linh hoạt ("Flexbox")
Trung tâm và thay đổi kích thước chính xác trong Chrome / FF, không trung tâm nhưng thay đổi kích thước chính xác trong IE11
Fiddle: http://jsfiddle.net/Dragonseer/3D6vw/
html, body
{
height: 100%;
width: 100%;
}
body
{
margin: 0;
}
.outer
{
min-width: 100%;
min-height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.inner
{
width: 80%;
}
Trung tâm chính xác ở mọi nơi, tắt ở trên cùng khi giảm kích thước
Fiddle: http://jsfiddle.net/Dragonseer/5CxAy/
html, body
{
height: 100%;
width: 100%;
}
body
{
margin: 0;
display: flex;
}
.outer
{
min-width: 100%;
min-height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.inner
{
width: 80%;
}
-ms-flexbox
cho IE ..