2012-11-12 22 views
27

मेरे पास मेरी साइट के बाईं ओर एक निश्चित साइडबार है जिसमें सामग्री पर स्क्रीन पर प्रदर्शित होने के लिए बहुत अधिक सामग्री है। सही सामग्री को स्क्रॉल करने योग्य होने की अनुमति देते हुए मैं उस सामग्री को स्क्रॉल करने योग्य कैसे बना सकता हूं?एक निश्चित साइडबार के अंदर स्क्रॉल करें

मुझे लगता है कि एक साधारण overflow-y: scroll; पर्याप्त होगा। ऐसा लगता है कि मुझे साइडबार पर अधिकतम ऊंचाई की आवश्यकता है, लेकिन अधिकतम ऊंचाई को 100% तक सेट करना कुछ भी नहीं करता है। मुझे यकीन है कि यह एक साधारण कोड पैटर्न है, लेकिन हां, मेरे सीएसएस कौशल ने आज मुझे छोड़ दिया है।

सरल यहाँ उदाहरण: http://jsfiddle.net/tvysB/1/

उत्तर

60

top और bottom0 पर सेट करें, ताकि साइडबार व्यूपोर्ट रूप में एक ही ऊंचाई ठीक है:

#leftCol { 
    position: fixed; 
    width: 150px; 
    overflow-y: scroll; 
    top: 0; 
    bottom: 0; 
} 

यहाँ है अपने बेला: http://jsfiddle.net/tvysB/2/

+1

दोह, मैं कसम खाता हूँ कि मैंने यह कहा है। धन्यवाद। –

+0

मैं एक मोबाइल साइट के लिए काम कर रहे स्क्रॉल सामग्री (एनएवी) के साथ एक निश्चित हेडर/फिक्स्ड साइडबार प्राप्त करने का प्रयास कर रहा हूं, और जब तक मैं इस उत्तर में भाग नहीं लेता तब तक कोई भाग्य नहीं है। मुझे बिल्कुल यकीन नहीं था कि 'नीचे: 0;' मेरी साइडबार को कैसे प्रभावित करेगा, लेकिन मैंने सोचा क्यों नहीं? एक जादू की तरह काम किया। जवाब के लिए धन्यवाद! –

+0

आह यह चाल है! ऊंचाई के बजाय: 100%; - शीर्ष: 0; और नीचे: 0; स्थिति को संभालने का यही एकमात्र तरीका है जहां आपकी साइड-एनवी व्यूपोर्ट के शीर्ष पर तय नहीं है। यदि यह कहा गया था, ऊपर से 200px, ऊंचाई: 100% वास्तव में इसे बना देगा जहां आपके साइड-एनवी के नीचे व्यूपोर्ट के नीचे 200px थे। – welbornio

3

मेरे पास यह वही समस्या थी और इसका उपयोग करके इसे ठीक किया गया:

.WhateverYourNavIs { 
     max-height: calc(100vh - 9rem); 
     overflow-y: auto; 
} 

यह आपके नौसेना के लिए अधिकतम ऊंचाई सेट करता है जो उपयोगकर्ता ब्राउज़र की ऊंचाई के प्रति उत्तरदायी है और फिर उसे इसकी आवश्यकता होने पर स्क्रॉल देता है।

संबंधित मुद्दे