2016-02-11 10 views

risposta

16

Dare il contenitore:

display:flex; 
flex-direction:column; 

e per l'elemento:

flex:1; 

La demo: https://jsfiddle.net/ugjfwbg4/1/

body { 
 
    background-color: red; 
 
    height: 100%; 
 
} 
 

 
.wrap { 
 
    height: 100vh; 
 
    width: 100%; 
 
    padding: 20px; 
 
    background-color: yellow; 
 
    display:flex; 
 
    flex-direction:column; 
 
} 
 

 
.top { 
 
    width: 100%; 
 
    height: 50px; 
 
    background-color: blue; 
 
} 
 

 
.mid { 
 
    width: 100%; 
 
    background-color: green; 
 
    flex:1; 
 
    display:flex; 
 
    flex-direction:column; 
 
} 
 

 
.left{ 
 
    flex:1; 
 
    width: 50%; 
 
    background-color: red; 
 
} 
 

 
.bottom { 
 
    width: 100%; 
 
    height: 50px; 
 
    background-color: blue; 
 
}
<div class="wrap"> 
 
    <div class="top"></div> 
 

 
    <div class="mid"> 
 
    
 
    <div class="left">left</div> 
 
    </div> 
 

 
    <div class="bottom"></div> 
 
</div>

+0

Grazie Giovanni. su questo violino: [link] (https://jsfiddle.net/ugjfwbg4/2/) il div rosso all'interno del green non si estende al 100% puoi spiegare? –

+0

Regola le regole del css secondo il contenitore e il bambino come prima. https://jsfiddle.net/ugjfwbg4/3/ e controlla https://css-tricks.com/snippets/css/a-guide-to-flexbox/ – John