2013-01-31 38 views
15

मैं इस website विकसित कर रहा हूं और मैं सही साइडबार 100% ऊंचाई रखना चाहता हूं। Setting 100% height on an absolutely positioned element when the content expands past the window size:सीएसएस डिवी 100% ऊंचाई

body { 
    height: 100%; 
    min-height: 100%; 
    position: relative; 
} 

mydiv { 
    height: 100%; 
    min-height: 100%; 
    position: absolute; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    width: 290px; 
} 

मैं जवाब का एक बहुत, विशेष रूप से इस (Prestaul जवाब) पढ़ा है।

लेकिन मेरे लिए यह चाल काम नहीं करती है, यहां तक ​​कि बेवकूफ उदाहरण काम नहीं करता है!

This is the jsfiddle working example.

This is the same code that doesn't work.

+0

आप शीर्ष पर पिक्सल की जोड़ी सफेद स्थान मतलब है? अपने शरीर के मार्जिन को '0' पर सेट करें और इसे काम करना चाहिए। – hsan

उत्तर

5

के शरीर शैली स्थापित करने का प्रयास करें:

body { position:relative;} 

यह मेरे

+0

मैं इसे पहले से ही कर सकता हूं जैसा कि आप पढ़ सकते हैं, http://aquilewp.webkolm.com/grafica/prova.html यहां आप मेरी वेबसाइट पर जेएसफ़ील्ड उदाहरण डाल सकते हैं ... और यह – T1T

+1

काम नहीं करता है इसके विपरीत, आपने शरीर की शैली को 'शरीर {ऊंचाई: 100% पर सेट किया है; मिनट-height: 100%; स्थिति: सापेक्ष;} 'मैं सुझाव दे रहा हूं कि आपको इसे' शरीर {स्थिति: रिश्तेदार;} ' –

+0

पर सेट करना चाहिए !!! यह काम करता हैं!! – T1T

37

HTML टैग सेट भी। इस तरह कोई अजीब स्थिति हैक की आवश्यकता नहीं है।

html, body {height: 100%}

+0

मुझे आश्चर्य है कि यह क्यों चुना गया जवाब नहीं है? शरीर की स्थिति को 'रिश्तेदार' में सेट करना हालांकि एक अच्छा अभ्यास नहीं है .. !! –

1

के लिए काम किया मैं एक सुझाव है। आप myDiv 100% की ऊंचाई करना चाहते हैं, तो आपके div पर इन अतिरिक्त 3 विशेषताओं का उपयोग:

myDiv { 
    min-height: 100%; 
    overflow-y: hidden; 
    position: relative; 
} 

यही काम करना चाहिए!

1

flexbox समाधान

नोट: फ्लेक्स विक्रेता उपसर्गों जोड़े यदि आपके supported browsers के लिए आवश्यक।

html { 
 
    height: 100%; 
 
} 
 

 
body { 
 
    height: 100%; 
 
    display: flex; 
 
} 
 

 
.Content { 
 
    flex-grow: 1; 
 
} 
 

 
.Sidebar { 
 
    width: 290px; 
 
    flex-shrink: 0; 
 
}
<div class="Content" style="background:#bed">Content</div> 
 
<div class="Sidebar" style="background:#8cc">Sidebar</div>