दिलचस्प पोस्ट
हस्केल में 2 सूचियों का कार्टेशियन उत्पाद Matplotlib में दो भूखंडों के बीच लाइनों को आकर्षित करना Java.util.Date को java.time.LocalDate में कनवर्ट करें ESP8266 NodeMCU हीप मेमोरी से बाहर चल रहा है asp.net MVC आंशिक दृश्य नियंत्रक कार्रवाई एक बिटमैप के साथ कॉलबैक प्राप्त करने के लिए पिकासो का उपयोग करें UIWebView – "अंतिम" वेबव्यूडिफ़फ़िन्शिप संदेश को कैसे पहचानें? ध्वनि आईफोन सिम्युलेटर में काम नहीं कर रहा है? फ़ंक्शन में सरणी लौटें दिनों में दिन में जावा में कैसे जोड़ सकते हैं "Var" या नहीं "var" जावास्क्रिप्ट के "फॉर-इन" लूप में है? पांडस एक दृश्य बनाम एक नियम बनाने के लिए किस नियम का उपयोग करते हैं? सी # के साथ विंडोज़ शेल एक्सटेंशन क्या कारण java.lang.IncompatibleClassChangeError? पिछले कुछ ट्वीट्स को पाने के लिए ट्विटर एपीआई की स्थापना करना

स्क्रॉलबार को वेब पेज को बदलने से कैसे रोकें?

मेरे पास केंद्र-संरेखित DIV के साथ एक वेबसाइट है अब, कुछ पन्नों को स्क्रॉल करना पड़ता है, कुछ नहीं। जब मैं एक प्रकार से दूसरे प्रकार की ओर जाता हूं, तो एक स्क्रॉलबार का रूप पृष्ठ पर कुछ पिक्सल को स्थानांतरित करता है क्या प्रत्येक पृष्ठ पर स्पष्ट रूप से स्क्रॉलबार दिखाए बिना यह से बचने का कोई तरीका है?

वेब के समाधान से एकत्रित समाधान "स्क्रॉलबार को वेब पेज को बदलने से कैसे रोकें?"

ओवरफ्लो-वाई: स्क्रॉल सही है, लेकिन आपको इसे html टैग के साथ प्रयोग करना चाहिए, न कि शरीर पर या फिर आप IE 7 में एक डबल स्क्रॉलबार प्राप्त करें
तो सही सीएसएस होगा:

html { overflow-y: scroll; } 

मुझे नहीं लगता। लेकिन overflow: scroll साथ स्टाइल body overflow: scroll करना चाहिए। आपको पता है कि, यद्यपि।

स्क्रॉल हमेशा दिखाया जा रहा है, लेआउट के लिए शायद अच्छा नहीं है।

सीएसएस 3 के साथ शरीर की चौड़ाई को सीमित करने की कोशिश करें

 body { width: calc(100vw - 34px); } 

vw व्यूपोर्ट की चौड़ाई है (कुछ स्पष्टीकरण के लिए यह लिंक देखें)
css3 में calc गणना
34px डबल स्क्रॉलबार चौड़ाई के लिए खड़ा है ( यह निश्चित के लिए देखें या यदि आपको निर्धारित आकार पर भरोसा नहीं है)

मेरे पास एक ही मुद्दा था, लेकिन मुझे सिर्फ एक अच्छा विचार था: अपने स्क्रॉल करने योग्य तत्व की सामग्री को एक div में लपेटें और padding-left: calc(100vw - 100%); लागू करें padding-left: calc(100vw - 100%);

 <body> <div style="padding-left: calc(100vw - 100%);"> Some Content that is higher than the user's screen </div> </body> 

चाल यही है कि 100 100vw व्यूपोर्ट का 100% दर्शाता है जिसमें स्क्रॉलबार शामिल है यदि आप 100% घटाते हैं, जो स्क्रॉलबार के बिना उपलब्ध स्थान है, तो आप स्क्रॉलबार की चौड़ाई के साथ समाप्त हो जाते हैं या 0 यदि वह मौजूद नहीं है। बाईं ओर उस चौड़ाई के एक पैडिंग का निर्माण एक दूसरे स्क्रॉलबार को अनुकरण करेगा, केन्द्रित सामग्री को दाएं से वापस भेज देगा।

कृपया ध्यान दें कि यह केवल तभी काम करेगा यदि स्क्रॉल करने वाला तत्व पृष्ठ की संपूर्ण चौड़ाई का उपयोग करता है, लेकिन यह ज्यादातर समय में कोई समस्या नहीं है क्योंकि केवल कुछ अन्य मामले हैं जहां आपने स्क्रॉल सामग्री केंद्रित किया है

मुझे नहीं पता कि यह एक पुरानी पोस्ट है, लेकिन मुझे एक ही समस्या थी और यदि आप खड़ी स्क्रॉल करना चाहते हैं तो आपको केवल overflow-y:scroll प्रयास करना चाहिए overflow-y:scroll

 html { overflow-x: hidden; margin-right: calc(-1 * (100vw - 100%)); } 

उदाहरण "न्यूनतम-ऊंचाई बदलें" बटन पर क्लिक करें

calc(100vw - 100%) हम स्क्रॉलबार की चौड़ाई की गणना कर सकते हैं (और अगर यह प्रदर्शित नहीं होता है, तो यह 0 होगा)। आइडिया: ऋणात्मक मार्जिन-दायें का उपयोग करते हुए, हम इस चौड़ाई को <html> की चौड़ाई बढ़ा सकते हैं। आपको एक क्षैतिज स्क्रॉल बार दिखाई देगा – यह overflow-x: hidden का छिपा हुआ होना चाहिए overflow-x: hidden

मैंने स्पष्ट रूप से व्यूपोर्ट आकार शून्य से स्क्रॉलबार की चौड़ाई के अनुसार जावास्क्रिप्ट में शरीर की चौड़ाई को निर्धारित करके अपनी वेबसाइटों में से एक पर समस्या का हल किया है मैं स्क्रॉलबार की चौड़ाई का निर्धारण करने के लिए यहां एक jQuery आधारित फ़ंक्शन का उपयोग करता हूं I

 <body id="bodyid> var bodyid = document.getElementById('bodyid'); bodyid.style.width = window.innerWidth - scrollbarWidth() + "px"; 

मैंने संभवत: एक ही मुद्दे को ठीक करने की कोशिश की जो चहचहाना बूटस्ट्रैप के कारण हुई। body को लागू करने वाले .modal-open वर्ग। समाधान html {overflow-y: scroll} मदद नहीं करता है एक संभव समाधान मुझे मिला है {width: 100%; width: 100vw} {width: 100%; width: 100vw} html तत्व के लिए

इसका उपयोग करते हुए उत्तर पर विस्तृत करना:

 body { width: calc(100vw - 17px); } 

एक टिप्पणीकार ने सुझाव दिया है कि केन्द्रिंग को बनाए रखने के लिए बाएं पैडिंग भी शामिल है:

 body { padding-left: 17px; width: calc(100vw - 17px); } 

लेकिन फिर आपकी सामग्री व्यूपोर्ट से अधिक व्यापक है, तो चीजें सही नहीं दिखतीं। उसे ठीक करने के लिए, आप इस तरह से मीडिया प्रश्नों का उपयोग कर सकते हैं:

 @media screen and (min-width: 1058px) { body { padding-left: 17px; width: calc(100vw - 17px); } } 

जहां 1058px = सामग्री की चौड़ाई + 17 * 2

यह एक क्षैतिज स्क्रॉलबार को एक्स अतिप्रवाह को संभालने देता है और केन्द्रित सामग्री को केन्द्रित रखता है जब व्यूपोर्ट पर्याप्त रूप से आपकी निश्चित चौड़ाई वाली सामग्री को नियंत्रित करता है

Calc (100vw – 100%) का उपयोग करने वाले समाधान सही ट्रैक पर हैं, लेकिन इसमें एक समस्या है: आप बाईं ओर स्क्रॉलबार के आकार के लिए हमेशा एक मार्जिन रखेंगे, भले ही आप विंडो का आकार बदल दें, ताकि सामग्री संपूर्ण व्यूपोर्ट भरती है

यदि आप मीडिया क्वेरी से इस बारे में जानने की कोशिश करते हैं तो आपके पास एक अजीब स्नैपिंग पल होगा क्योंकि मार्जिन धीरे-धीरे छोटा नहीं होगा जैसा कि आप विंडो का आकार बदलते हैं।

यह एक ऐसा समाधान है जो उसके आस-पास हो जाता है और एएफएआईके में कोई कमियां नहीं हैं:

मार्जिन का उपयोग करने के बजाय: अपनी सामग्री को केंद्र में स्वत:, इसका उपयोग करें:

 body { margin-left: calc(50vw - 500px); } 

500px को अपनी सामग्री की अधिकतम-चौड़ाई के साथ प्रतिस्थापित करें (इसलिए इस उदाहरण में सामग्री अधिकतम-चौड़ाई 1000px है)। सामग्री अब केन्द्रित रहेगी और जब तक दृश्य व्यूपोर्ट भरी न हो तब तक मार्जिन धीरे-धीरे सभी तरह से घटाएगा

व्यूपोर्ट अधिकतम-चौड़ाई से छोटा होने पर नकारात्मक होने से मार्जिन को रोकने के लिए बस एक ऐसी मीडिया क्वेरी जोड़ें जैसे:

 @media screen and (max-width:1000px) { body { margin-left: 0; } } 

और वोआला!

यदि आकार बदल रहा है या कुछ डेटा लोड करने के बाद यह स्क्रॉल बार जोड़ रहा है, तो आप निम्नलिखित का प्रयास कर सकते हैं, क्लास बना सकते हैं और इस क्लास को लागू कर सकते हैं।

 .auto-scroll { overflow-y: overlay; overflow-x: overlay; } 

मैं उस समस्या के लिए उपयोग करता हूं, लेकिन इसे ठीक करने का सरल तरीका यह है (यह मेरे लिए काम करता है):

सीएसएस फ़ाइल प्रकार पर:

 body{overflow-y:scroll;} 

कि सरल के रूप में! 🙂

राप्ती के जवाब को बंद करना, यह ठीक ही काम करेगा, लेकिन यह body के दाहिने हिस्से में अधिक मार्जिन जोड़ता है और इसे नकारात्मक html मार्जिन के साथ छुपाता है, अतिरिक्त पैडिंग जोड़ने के बजाय जो वास्तव में पेज के लेआउट को प्रभावित कर सकता है। इस तरह, वास्तविक पृष्ठ पर (कुछ मामलों में) कुछ भी नहीं बदला है, और कोड अभी भी कार्यात्मक है।

 html { margin-right: calc(100% - 100vw); } body { margin-right: calc(100vw - 100%); } 

डिवेल तत्व के बाहर स्क्रॉल पट्टी को प्रदर्शित करने के लिए डिव के अंदर सामग्री को दोबारा लगाने से रोकना।

एक स्थिर चौड़ाई का उपयोग करें और मेरे पास मेरे div स्थिति को पूर्ण रूप से है मेरे लिये कार्य करता है।

 #divID{ overflow: hidden; width: calc(1024px + 0); } #divID:hover{ overflow-y:scoll; } 

स्वीकार किए गए उत्तर के विपरीत जो ब्राउज़र विंडो पर एक स्थायी स्क्रॉल बार सुझाता है, भले ही सामग्री स्क्रीन से अधिक नहीं होती , तो मैं इसका उपयोग करना चाहूंगा:

 html{ height:101%; } 

इसका कारण यह है कि स्क्रॉल बार की उपस्थिति अधिक मायने रखती है अगर सामग्री वास्तव में अतिप्रवाह हो जाती है

यह इस से अधिक समझ में आता है

मैं इसे हल करने के लिए कुछ jquery का इस्तेमाल किया

 $('html').css({ 'overflow-y': 'hidden' }); $(document).ready(function(){ $(window).load(function() { $('html').css({ 'overflow-y': '' }); }); }); 
 @media screen and (min-width: 1024px){ body { min-height: 700px } }