This question already has answers here:
Flexbox fill available space vertically
(2个答案)
2年前关闭。
我在主div中有2个div divA和divB,
divA排名靠前,就像头衔保持榜首一样,他的身高固定。
divB是内容,应该占据剩下的所有空间,直到底部为止。
divA的像素大小。
divB应该做100%的高度-divA大小
我不想隐藏滚动条,所以在我的情况下,请不要在蓝色div内有
https://codepen.io/crocsx-the-styleful/pen/GYLKKj
(2个答案)
2年前关闭。
我在主div中有2个div divA和divB,
divA排名靠前,就像头衔保持榜首一样,他的身高固定。
divB是内容,应该占据剩下的所有空间,直到底部为止。
divA的像素大小。
divB应该做100%的高度-divA大小
#container{
width:400px;
height:800px;
background-color:red;
position:relative;
overflow: scroll;
}
#options{
width:95%;
height:30px;
background: #734A6F;
position: relative;
color: #FFF;
line-height: 33px;
padding-left: 10px;
}
#buttons{
position:absolute;
width:95%;
height:100%;
background-color:blue;
}
<div id="container">
<div id="options">
</div>
<div id="buttons">
</div>
</div>
我不想隐藏滚动条,所以在我的情况下,请不要在蓝色div内有
scroll:hidden
的内容,因此它将隐藏在滚动条中,并且将其切成两半。使其正常工作的唯一方法是将其设置为蓝色divhttps://codepen.io/crocsx-the-styleful/pen/GYLKKj
最佳答案
除非您正在寻找非常旧的浏览器支持,否则CSS flexbox会非常简单。
display: flex; // use flexbox
flex-direction: column; // set flexbox to vertical
justify-content: flex-start; // start at the top
flex-basis: 30px; // how much height it takes up
flex: 2; // any number greater than 1 will cause it to fill the space
#container {
width: 400px;
height: 600px;
background: red;
display: flex;
flex-direction: column;
justify-content: flex-start;
}
#options {
background: green;
flex-basis: 30px;
}
#buttons {
background: blue;
flex: 2;
}
<div id="container">
<div id="options">
Div A
</div>
<div id="buttons">
Div B
</div>
</div>
关于html - 使div内的2 div共享空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53038005/
10-09 19:02