कैल्क (100vw - 100%) का उपयोग करके पोस्ट किए गए समाधान सही रास्ते पर हैं, लेकिन इसके साथ एक समस्या है: आपके पास हमेशा स्क्रॉल के आकार को बाईं ओर एक मार्जिन होगा, भले ही आप विंडो का आकार बदल दें ताकि सामग्री पूरे व्यूपोर्ट को भर देती है।
यदि आप मीडिया क्वेरी के साथ इसे प्राप्त करने का प्रयास करते हैं, तो आपके पास एक अजीब तड़क-भड़क वाला पल होगा क्योंकि मार्जिन उत्तरोत्तर छोटा नहीं होगा जैसा कि आप विंडो का आकार बदलते हैं।
यहाँ एक समाधान है कि चारों ओर हो जाता है और AFAIK में कोई कमियां नहीं हैं:
मार्जिन का उपयोग करने के बजाय: अपनी सामग्री को केंद्रित करने के लिए ऑटो, इसका उपयोग करें:
body {
margin-left: calc(50vw - 500px);
}
अपनी सामग्री की आधी अधिकतम चौड़ाई के साथ 500px बदलें (इसलिए इस उदाहरण में सामग्री अधिकतम-चौड़ाई 1000px है)। सामग्री अब केंद्रित रहेगी और जब तक सामग्री व्यूपोर्ट को भरती नहीं है, तब तक मार्जिन सभी तरह से कम हो जाएगा।
मार्जिन को नकारात्मक होने से रोकने के लिए, जब व्यूपोर्ट अधिकतम-चौड़ाई से छोटा होता है, तो जैसे मीडिया क्वेरी जोड़ें:
@media screen and (max-width:1000px) {
body {
margin-left: 0;
}
}
Et voilà!
overflow-y: overlayइस सूत्र में किसी का उल्लेख क्यों नहीं है ?