ฉันใช้ Twitter Bootstrap ในโครงการ เช่นเดียวกับรูปแบบการบูตเริ่มต้นฉันได้เพิ่มบางอย่างของตัวเอง
//My styles
@media (max-width: 767px)
{
//CSS here
}
ฉันใช้ jQuery เพื่อเปลี่ยนลำดับขององค์ประกอบบางอย่างบนหน้าเว็บเมื่อความกว้างของวิวพอร์ตน้อยกว่า 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"));
}
}
ปัญหาที่ฉันมีคือความกว้างที่คำนวณโดย$(window).width()
และความกว้างที่คำนวณโดย CSS ดูเหมือนจะไม่เหมือนกัน เมื่อ$(window).width()
ส่งคืน 767 css จะคำนวณความกว้างวิวพอร์ตเป็น 751 ดังนั้นจึงมีความแตกต่าง 16px
มีใครรู้บ้างว่าอะไรทำให้เกิดสิ่งนี้และฉันจะแก้ปัญหาได้อย่างไร มีคนแนะนำว่าความกว้างของแถบเลื่อนไม่ได้ถูกนำมาพิจารณาและใช้$(window).innerWidth() < 751
เป็นวิธีที่จะไป อย่างไรก็ตามฉันต้องการค้นหาวิธีแก้ปัญหาที่คำนวณความกว้างของแถบเลื่อนและสอดคล้องกับข้อความค้นหาสื่อของฉัน (เช่นเมื่อทั้งสองเงื่อนไขตรวจสอบกับค่า 767) เพราะเบราว์เซอร์บางตัวอาจไม่ได้มีความกว้างของแถบเลื่อน 16px