Я використовую 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 пікселів?