使用 CSS 我试图让div填充一个动态大小的容器,该容器也包含一个固定的高度div。
grey
div (请参阅代码段)如何才能填充剩余的可用空间而不会溢出?
grey
div .Fill
里面没有任何内容。Flex
仅用作最后的手段。
html,body{height:100%;}
.Wrap{
height:100%;
width:50%;
}
.H40,.H60{
display:block;
padding:15px;
box-sizing:border-box;
}
.H40{
height:40%;
background:#b00;
}
.H60{
height:60%;
background:#58c;
}
.Top{
background:#8d5;
height:40px;
}
.Fill{
height:100%;
width:100%;
background:#DDD;
}
<div class="Wrap">
<div class="H40">
<div class="Top">TOP</div>
<div class="Fill">Fill this space</div>
</div>
<div class="H60">
<div class="Top">TOP</div>
<div class="Fill">Fill this space</div>
</div>
</div>
答案 0 :(得分:3)
试试这个
使用calc
.Fill{
height:calc(100% - 40px);
width:100%;
background:#DDD;
}
答案 1 :(得分:1)
我认为display:table
,display:table-row
和display:table-cell
会解决此问题。
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html,body{height:100%;}
.Wrap{
height:100%;
width:50%;
}
.H40,.H60{
display: table;
padding:15px;
height:100%;
width:100%;
}
.H40{
height:40%;
background:#b00;
}
.H60{
height:60%;
background:#58c;
}
.Top{
display: table-row;
background:#8d5;
height:40px;
}
.fill {
display: table-cell;
background: #ccc;
height:100%;
}
<div class="Wrap">
<div class="H40">
<div class="Top">TOP</div>
<div class="fill"></div>
</div>
<div class="H60">
<div class="Top">TOP</div>
<div class="fill"></div>
</div>
</div>
答案 2 :(得分:0)
在CSS中添加height:calc(100% - 20px);
。