我可以只使用CSS获取前一个元素的高度吗? 我使用计算()函数动态设置的div B.获取前一个元素的高度
#b{
height:calc(100vh - heightOfPreviousElement);
}
我需要知道前一个元素的高度的高度。
什么,我知道的是,100vh等于屏幕高度的100%。
我使用的代码在回答below.Using弯曲,
我可以只使用CSS获取前一个元素的高度吗? 我使用计算()函数动态设置的div B.获取前一个元素的高度
#b{
height:calc(100vh - heightOfPreviousElement);
}
我需要知道前一个元素的高度的高度。
什么,我知道的是,100vh等于屏幕高度的100%。
我使用的代码在回答below.Using弯曲,
您可以使用flexbox轻松实现您正在寻找的效果。诀窍是让蓝色容器(具有灵活的高度)每当有需要时规模增长,使用flex: 1 1 auto
,这简直是一个速记:
flex-grow: 1;
flex-shrink: 1;
flex-basis: auto;
看到,有证据的概念代码段如下:
body {
padding: 0;
margin: 0;
}
.wrapper {
display: flex;
flex-direction: column;
flex-wrap: no-wrap;
align-items: center;
justify-content: center;
height: 100vh;
}
.wrapper > div {
width: 100%;
}
#c1 {
background-color: #880015;
color: #fff;
height: 60px;
margin-bottom: 10px;
}
#c2 {
background-color: #ff7f27;
}
#c3 {
background-color: #00a2e8;
flex: 1 1 auto;
margin-bottom: 10px;
}
<div class="wrapper">
<div id="c1">height: 60px</div>
<div id="c2">height: auto (determined by content?)</div>
<div id="c3">flexible height</div>
</div>
这听起来像一个XY的问题给我。也许布局可以使用flexbox等其他方法制作,因为您只是根据另一个元素(同级)调整高度。不幸的是CSS不允许选择以前的元素或父母(因此名称**级联**)。更新您的问题以包含更多详细信息,例如您希望以什么样的布局实现可视化,以及代码片段 - 这非常有用。 – Terry
可能的重复:http://stackoverflow.com/q/33129660/3597276 –