我有以下html:
<div class="div1">
<div class="div1a"></div>
<div class="div1b"></div>
<div class="div1c"></div>
</div>
这是布局链接:http://jsfiddle.net/7ZGaG/5/
我只需要给div1高度。
例如:
div1:400px
div1a:100px
div1b:100px
div1c:50px
所以底部有150px的空位。 (400 - 100 - 100 - 50 = 150)。我如何用css解决这个问题,div1c的高度是div1的底部?
如果我为div1c做height:100%
,那么它需要div1的高度,那就是400px。
谢谢!
答案 0 :(得分:3)
.div1 { height: 400px; }
.div1a {
float: left;
width: 100%;
height: 100px;
clear: both; }
.div1b {
float: left;
width: 100%;
height: 100px;
clear: both; }
.div1c { height: 100%; }
答案 1 :(得分:0)
这里有一些可以做到的CSS。
.div1
overflow: hidden
设置为抓住最高div的高度。听起来可能是.div1a
或.div1b
。 .div1c
为position: absolute
,因此可以使用.div1
作为指南,它将自己置于bottom
之外,并与top
和{{ 1}}。
right
答案 2 :(得分:0)
以下是我提出的问题(my jsfiddle):
.div1 {
position: relative;
height: 400px;
border: 1px solid black;
overflow: hidden;
}
.div1a {
height: 100px;
background-color: yellow;
}
.div1b {
height: 100px;
background-color: blue;
}
.div1c {
position: relative;
top: 200;
height: 100%;
background-color: red;
}
但是,如果我可以访问JavaScript,我会做的有点不同。
答案 3 :(得分:0)
简单的解决方案是使用div
为父overflow:hidden
设置样式,为div
设置子height:100%
添加以下属性:
div1
position:fixed
div1c
overflow:hidden;
position:relative;
height:100%;
答案 4 :(得分:0)
可以使用Flex布局而不是使用默认的块布局,然后使用flex-grow
来指示最后一个元素应该增加:
.div1 {
display: flex;
flex-direction: column;
}
.div1c {
flex-grow: 1;
}