2016-04-22 192 views
3

我试图让它有一个div,它的容器中有100%的高度(其高度为50%),旁边有两个div,每个div都有一个高度的50%。把一个div放在两个垂直div旁边

这里是我的意思的例子:

enter image description here

我也想拥有所有的div之间的裕度,如图上面的图片。

这里是我到目前为止的代码:

<div style="height: 50%;"> 
 
    
 
<div style="height: 100%; float: left; margin-right: 15px;"> 
 
<p>Content</p> 
 
</div> 
 
    
 
<div style="float: right; height: 50%;"> 
 
<p>Content</p> 
 
</div> 
 
    
 
<div style="float: right; height: 50%;"> 
 
<p>Content</p> 
 
</div> 
 
    
 
</div>

的jsfiddle:https://jsfiddle.net/ne4njtvr/

回答

4

像这种可能?

注意,如果你需要支持旧的浏览器,这可以通过使用display: table以及

html, body { 
 
    margin: 0; 
 
    height: 100%; 
 
} 
 
.wrapper { 
 
    display: flex; 
 
    height: 100%; 
 
} 
 
.wrapper .left, 
 
.wrapper .right { 
 
    flex: 1; 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 
.wrapper .right div { 
 
    flex: 1; 
 
} 
 
.wrapper .right div ~ div { 
 
    flex: 2; 
 
} 
 
div { 
 
    border: 1px solid; 
 
    box-sizing: border-box; 
 
}
<div class="wrapper"> 
 
    <div class="left"> 
 
    Left 
 
    </div> 
 
    <div class="right"> 
 
    <div> 
 
     Right - Top 
 
    </div> 
 
    <div> 
 
     Right - Bottom 
 
    </div> 
 
    </div> 
 
</div>

+0

嗨做,我的反应迟到对不起,我区已遇到一些连接问题。如果我想让“右下角”比“右上角”更大,那该如何实现呢? –

+0

@bobjomes更新了我的答案......添加了一个将右下角div设置为'flex:2'的规则,这意味着它在3个(1 + 2)可用空间中占据2个。你也可以将它们设置为33%。 66% – LGSon

+0

再次感谢你!我非常感谢你的帮助 –