Saya menggunakan Bootstrap Twitter pada sebuah proyek. Serta gaya bootstrap default saya juga menambahkan beberapa dari saya sendiri
//My styles
@media (max-width: 767px)
{
//CSS here
}
Saya juga menggunakan jQuery untuk mengubah urutan elemen tertentu pada halaman ketika lebar viewport kurang dari 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"));
}
}
Masalah yang saya alami adalah bahwa lebar yang dihitung oleh $(window).width()
dan lebar yang dihitung oleh CSS tampaknya tidak sama. Ketika $(window).width()
mengembalikan 767 css menghitungnya lebar viewport 751 sehingga tampaknya ada 16px berbeda.
Adakah yang tahu apa yang menyebabkan ini dan bagaimana saya bisa menyelesaikan masalah? Orang-orang telah menyarankan bahwa lebar bilah gulir tidak dipertimbangkan dan menggunakan $(window).innerWidth() < 751
adalah cara untuk pergi. Namun idealnya saya ingin menemukan solusi yang menghitung lebar scrollbar dan yang konsisten dengan permintaan media saya (misalnya di mana kedua kondisi memeriksa terhadap nilai 767). Karena pasti tidak semua browser akan memiliki lebar scrollbar 16px?