Các giải pháp được đăng bằng calc (100vw - 100%) đang đi đúng hướng, nhưng có một vấn đề với điều này: Bạn sẽ mãi mãi có một lề bên trái kích thước của thanh cuộn, ngay cả khi bạn thay đổi kích thước cửa sổ để nội dung lấp đầy toàn bộ khung nhìn.
Nếu bạn cố gắng giải quyết vấn đề này bằng truy vấn phương tiện, bạn sẽ có một khoảnh khắc chụp lúng túng vì lề sẽ không nhỏ dần khi bạn thay đổi kích thước cửa sổ.
Đây là một giải pháp khắc phục được điều đó và AFAIK không có nhược điểm:
Thay vì sử dụng lề: tự động để căn giữa nội dung của bạn, hãy sử dụng:
body {
margin-left: calc(50vw - 500px);
}
Thay thế 500px bằng một nửa chiều rộng tối đa của nội dung của bạn (vì vậy trong ví dụ này, chiều rộng tối đa của nội dung là 1000px). Bây giờ nội dung sẽ ở giữa và lề sẽ giảm dần cho đến khi nội dung lấp đầy khung nhìn.
Để ngăn lề không bị âm khi chế độ xem nhỏ hơn chiều rộng tối đa, chỉ cần thêm truy vấn phương tiện như sau:
@media screen and (max-width:1000px) {
body {
margin-left: 0;
}
}
Et voilà!
overflow-y: overlay
trong chủ đề này?