Tôi khá bối rối và vẫn không chắc chắn cách giải thích điều này bằng các từ thích hợp. Cho đến nay tôi đã sử dụng và thiết lập các truy vấn phương tiện với Breakpoint. Biến Breakpoint được sử dụng trông giống như ví dụ:Tại sao window.width nhỏ hơn chiều rộng khung nhìn được đặt trong các truy vấn phương tiện
$menustatictofixed: min-width 900px;
$ breakpoint-to-ems được đặt thành true. Tôi đã đặt ra trang với tất cả các biến Breakpoint của nó dựa trên các giá trị điểm ảnh của đoạn jQuery sau:
$('body').append('<div style="position: fixed; bottom: 0; right: 0; display: inline-block; font-weight: bold; padding: 5px 7px; border-radius: 5px 0 0 0; background: green; color: white; z-index: 9999;">Viewport width <span id="width"></span> px</div>');
var viewportWidth = $(window).width()
$('#width').text(viewportWidth);
$(window).resize(function() {
var viewportWidth = $(window).width();
$('#width').text(viewportWidth);
});
Mọi thứ trông đúng đắn và sạch sẽ. Nhưng trong một hoặc hai ngày qua tôi đã có vấn đề thiết lập các điểm ngắt cuối cùng cho một mẫu và để có được những thứ có thể dự đoán được. Bằng cách nào đó những thứ xuất hiện để thêm vào sạch sẽ và tốt ở nơi đầu tiên, mà tôi rất nghi ngờ về mặt logic bây giờ, là trong thực tế không đúng cách và bằng cách nào đó một mớ hỗn độn. Cuz nếu bạn nhìn vào screenshot sau đây bằng cách nào đó chiều rộng của cửa sổ (trong Chrome) khác với chiều rộng từ đoạn mã jQuery sử dụng window.width. Cũng không có sự khác biệt nếu tôi thay thế window.width bằng window.innerWidth để loại bỏ thanh cuộn cuối cùng. Cách duy nhất để nhận được kết quả thích hợp là bằng cách thêm 15 pixel để phương trình:
var viewportWidth = $(window).width() + 15;
là vấn đề duy nhất trong toàn bộ phương trình mà window.width là sự lựa chọn sai chức năng và nó sẽ là tốt hơn để đi với ví dụ document.documentElement.clientWidth hoặc cái gì khác hoặc ...? Và đối với những gì 15 pixel đang đứng mà cố định vấn đề ở trên trong một cách hacky bit? Trân trọng Ralf
Có thể vì thanh cuộn ở bên phải/không? –