2013-07-11 7 views
9

देखें कि मेरा क्या मतलब है -डीआईवी के अंदर दो डीआईवी। दूसरे डीआईवी द्वारा पैरेंट डीआईवी की जगह को स्वतः भरने के लिए कैसे?

मेरे पास एक मूल डीआईवी है, इसके भीतर लंबवत क्रम में दो डीवी हैं। शीर्ष डीआईवी में केवल अपनी सामग्री की ऊंचाई होनी चाहिए, जबकि निचले डीआईवी को सामग्री ऊंचाइयों के बावजूद माता-पिता डीआईवी की सभी जगहों पर कब्जा करना चाहिए, और माता-पिता डीआईवी को ओवरलैप नहीं करना चाहिए।

HTML:

<div class="outer"> 
    <div class="inner-title"> 
     THIS IS MY TITLE 
    </div> 
    <div class="inner-content"> 
     CONTENT AREA 
    </div> 
</div> 

सीएसएस:

html,body 
{ 
height: 100%; 
} 

.outer 
{ 
    background-color:blue; 
    height: 80%; 
} 

.inner-title 
{ 
    background-color:red; 
} 

.inner-content 
{ 
background-color:yellow; 
    height: auto; 
} 

संक्षेप में, "इनर-सामग्री" ओवरलैपिंग के बिना "बाहरी" DIV, के सभी शेष अंतरिक्ष ले लेना चाहिए।

इस बारे में कोई विचार कैसे प्राप्त किया जाए?

इस पर बहुत मदद की सराहना की।

उत्तर

12

जोड़े display:table; माता पिता div करने के लिए और display:table-row; बच्चे को पहले बच्चे div को

और height:0 divs। यह ऑटो ऊंचाई

html,body{ 
    height: 100%; 
} 
.outer{ 
    background-color:blue; 
    height: 80%; border:red solid 2px; 
    display: table; 
    width:100% 
} 
.inner-title{ 
    background-color:red; 
    display:table-row; 
    width:100% 
} 
.inner-content{ 
    background-color:grey; 
    display:table-row; 
    width:100%; 
    height:100% 
} 

DEMO UPDATED

+0

@sowmya का उपयोग करेंगे .. क्या ले जाता है दूसरी div के लिए ऊंचाई ?? –

+0

वाई आपको न्यूनतम ऊंचाई की आवश्यकता है। ओप उम्मीद कर रहा है कि div को पूरी जगह पर कब्जा करने के लिए – Sowmya

+0

@ सोम्या .. नहीं .. नहीं .. मुझे जूस में कोई संदेह था और इसलिए पूछा .. शेष भाग में न्यूनतम ऊंचाई निर्धारित करना .. क्या यह संभव है ?? –

5

एक नयी सीएसएस तरह से एक मिनट की स्थापना के बारे में flexbox

/*QuickReset*/ *{box-sizing:border-box;margin:0;} html,body{height:100%;} 
 

 
.flex-col { 
 
    display: flex; 
 
    flex-direction: column; /* or: flex-flow: column wrap; */ 
 
    height: 100%; 
 
} 
 

 
.flex-fill { /* Add this class to the element you want to expand */ 
 
    flex: 1; 
 
}
<div class="flex-col"> 
 
    <div style="background:red;"> HEADER </div> 
 
    <div class="flex-fill" style="background:yellow;"> CONTENT </div> 
 
    <div style="background:red;"> FOOTER</div> 
 
</div>

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