Tôi đang cố gắng xây dựng một trang web có nhiều hộp có chiều rộng và chiều cao bằng nhau. Ví dụ: tôi có một trang có 2 hộp kích thước bằng nhau cạnh nhau.Tại sao vw lại bao gồm thanh cuộn như một phần của khung nhìn?
Giải pháp đơn giản là đặt chiều rộng và chiều cao thành 50vw. Điều này làm việc tuyệt vời cho đến khi có một thanh cuộn. Tôi đã Googled xung quanh trong nhiều giờ và không thể hiểu tại sao trên trái đất vw và vh sẽ bao gồm các thanh cuộn như một phần của khung nhìn.
Dưới đây là một ví dụ về vấn đề của tôi
HTML
<div class="container">
<div class="box red"></div>
<div class="box green"></div>
</div>
<div class="lotta-content"></div>
CSS
body {
margin: 0;
padding: 0;
}
.container {
width: 100vw;
}
.box {
float: left;
width: 50vw;
height: 50vw;
}
.red {
background-color: red;
}
.green {
background-color: green;
}
.lotta-content {
height: 10000px;
}
Thông báo thanh cuộn ngang không mong muốn
https://jsfiddle.net/3z887swo/
Một giải pháp có thể là sử dụng tỷ lệ phần trăm cho chiều rộng, nhưng vw cho chiều cao, nhưng nó sẽ không bao giờ là một hộp hoàn hảo mà không phải là điều tồi tệ nhất trên thế giới, nhưng vẫn không lý tưởng. Đây là một mẫu
https://jsfiddle.net/3z887swo/1/
Có ai biết tại sao vw/vh bao gồm thanh cuộn như một phần của khung nhìn? Ngoài ra, nếu ai đó có một giải pháp tốt hơn của riêng tôi, tôi rất muốn nghe nó. Tôi đang tìm một giải pháp CSS tinh khiết. Tôi không có javascript.
làm bạn có \t bao gồm trong đầu? – Dachi
@Dachi Điều đó sẽ không tạo ra sự khác biệt. –
http://www.w3.org/TR/css3-values/#viewport-relative-lengths nói: "Khi giá trị 'tràn' trên phần tử gốc là 'tự động', bất kỳ thanh cuộn nào được giả định là không tồn tại . " 'overflow: auto' là giá trị mặc định trên phần tử gốc. Tôi nghĩ rằng quyết định được đưa ra để giải quyết vấn đề sau, vòng lặp vô hạn: "chu kỳ phụ thuộc" của "sự hiện diện hoặc vắng mặt của thanh cuộn tùy thuộc vào giá trị của các đơn vị viewport" – mems