आप 100% से नेवबार की ऊंचाई घटाना करने के लिए होगा। कई समाधान हैं, जिनमें से कई जावास्क्रिप्ट शामिल करेंगे लेकिन आपको इसकी आवश्यकता नहीं होगी।
1: बॉक्स आकार
नेवबार एक निरपेक्ष स्थिति दे। फिर आपके पास नीचे गायब होने वाले अन्य तत्वों की सामग्री का मुद्दा है। फिर अगला चाल आता है, नेविबार के आकार को शीर्ष-पैडिंग जोड़ें। और अंतिम चाल, box-sizing: border-box;
.sidebar
और .body
जोड़ें। -moz-box-sizing:
उदाहरण:: Fiddle to box-sizing
2: असल में घटाना बेहतर ब्राउज़र समर्थन के लिए आप भी तो जैसे -moz- और -webkit- उपसर्गों की जरूरत है।
उपयोग .body, .sidebar{ height: calc(100% - 40px);
ब्राउज़र समर्थन इस बात के लिए बहुत कम जो मैं जानता हूँ बॉक्स आकार के लिए की तुलना में कम से है, इसलिए मैं पहले समाधान की सिफारिश करेंगे। Calc explained on css-tricks
3: flexbox (जोड़ा anno 2015)
अब आप शायद calc का उपयोग कर जब आप ऊंचाई जानते हैं, लेकिन तालिकाओं का उपयोग के लिए एक भयानक प्रतिस्थापन flexbox है के साथ जाना चाहिए। उत्तरदायी वेबसाइटों में जटिल डिजाइन के लिए यह वास्तव में मेरा उद्धारक है। सर्वोत्तम सुविधाओं में से एक का उपयोग करके - flex-shrink: 0
- शीर्षलेख पर आप अन्य तत्वों को शेष कंटेनर को भरने के लिए स्वयं को समायोजित करने के लिए मजबूर कर सकते हैं।
एक पुरानी जवाब शायद हां, तो फिर flexbox पर एक व्यापक गाइड को लिखने के लिए सबसे अच्छी जगह है, अपनी तरफ बार और शरीर के चारों ओर एक कंटेनर जोड़कर css-tricks
स्रोत
2013-07-01 10:34:03
' calc() 'समर्थन के संदर्भ में, यह वास्तव में [आश्चर्यजनक रूप से अच्छा] है (http://caniuse.com/#feat=calc)। मैं इस धारणा के तहत भी था कि समर्थन लगभग मौजूद नहीं था – Bojangles
धन्यवाद, उस ज्ञान के साथ मेरा जवाब संपादित किया। दुर्भाग्यवश आईई 8 में अभी भी एक सभ्य बाजार हिस्सेदारी है। मुझे पता होना चाहिए था, मैंने पहले कैन्यूज पेज की जांच की थी। मेरे दिमाग ने शायद इसे अपनी परियोजना के लिए उपयोग नहीं किया जा सकता है, इसलिए कोई समर्थन नहीं- –
बहुत बहुत धन्यवाद !!! – user2538584