Tôi đang sử dụng Twitter Bootstrap trong một dự án. Cũng như các kiểu bootstrap mặc định, tôi cũng đã thêm một số kiểu của riêng mình
//My styles
@media (max-width: 767px)
{
//CSS here
}
Tôi cũng đang sử dụng jQuery để thay đổi thứ tự của các thành phần nhất định trên trang khi chiều rộng của khung nhìn nhỏ hơn 767px.
$(document).load($(window).bind("resize", checkPosition));
function checkPosition()
{
if($(window).width() < 767)
{
$("#body-container .main-content").remove().insertBefore($("#body-container .left-sidebar"));
} else {
$("#body-container .main-content").remove().insertAfter($("#body-container .left-sidebar"));
}
}
Vấn đề tôi gặp phải là chiều rộng được tính theo $(window).width()
và chiều rộng được tính bằng CSS dường như không giống nhau. Khi $(window).width()
trả về 767, css tính toán cho nó chiều rộng khung nhìn là 751 nên dường như có sự khác biệt 16px.
Có ai biết điều gì gây ra điều này và làm thế nào tôi có thể giải quyết vấn đề? Mọi người đã gợi ý rằng chiều rộng của thanh cuộn không được xem xét và sử dụng $(window).innerWidth() < 751
là cách để đi. Tuy nhiên, lý tưởng nhất là tôi muốn tìm một giải pháp tính toán độ rộng của thanh cuộn và phù hợp với truy vấn phương tiện của tôi (ví dụ: cả hai điều kiện đang kiểm tra so với giá trị 767). Bởi vì chắc chắn không phải tất cả các trình duyệt sẽ có chiều rộng thanh cuộn là 16px?