मैं एक परियोजना पर ट्विटर बूटस्ट्रैप का उपयोग कर रहा हूं। डिफॉल्ट बूटस्ट्रैप शैलियों के साथ-साथ मैंने अपने खुद के कुछ भी जोड़े हैं
//My styles
@media (max-width: 767px)
{
//CSS here
}
व्यूपोर्ट की चौड़ाई 767px कम होने पर मैं पृष्ठ पर कुछ तत्वों के क्रम को बदलने के लिए jQuery का उपयोग कर रहा हूं।
$(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()
सीएसएस द्वारा गणना की गई चौड़ाई और चौड़ाई की गणना एक जैसी नहीं लगती है। जब $(window).width()
767 वापस आता है तो सीएसएस इसे 751 के रूप में व्यूपोर्ट की चौड़ाई की गणना करता है, इसलिए 16px अलग लगता है।
क्या किसी को पता है कि यह क्या कारण है और मैं समस्या को कैसे हल कर सकता हूं? लोगों ने सुझाव दिया है कि स्क्रॉलबार की चौड़ाई पर विचार नहीं किया जा रहा है और इसका उपयोग करने $(window).innerWidth() < 751
का तरीका है। हालांकि आदर्श रूप से मैं एक समाधान खोजना चाहता हूं जो स्क्रॉलबार की चौड़ाई की गणना करता है और जो मेरी मीडिया क्वेरी के साथ संगत है (उदाहरण के लिए जहां दोनों स्थितियां मूल्य 767 के खिलाफ जांच कर रही हैं)। क्योंकि निश्चित रूप से सभी ब्राउज़रों की स्क्रॉलबार चौड़ाई 16px नहीं होगी?