Я использую Twitter Bootstrap для проекта. Как и стили бутстрапа по умолчанию, я также добавил некоторые из моих собственных
//My styles
@media (max-width: 767px)
{
//CSS here
}
Я также использую jQuery для изменения порядка определенных элементов на странице, когда ширина окна просмотра меньше, чем 767 пикселей.
$(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"));
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что ширина, вычисленная по $(window).width()
и ширина, вычисленная CSS, не выглядит одинаковой. Когда $(window).width()
возвращает 767, css вычисляет его ширину окна просмотра как 751, поэтому, кажется, 16px разный.
Кто-нибудь знает, что вызывает это и как я могу решить проблему? Люди предположили, что ширина полосы прокрутки не учитывается, и использование $(window).innerWidth() < 751
- это путь. Однако в идеале я хочу найти решение, которое вычисляет ширину полосы прокрутки и соответствует моему медиа-запросу (например, когда оба условия проверяют значение 767). Поскольку, конечно, не все браузеры будут иметь ширину полосы прокрутки 16 пикселей?