我希望这是一个简单的答案,我只是忽略了。我一直在玩ui-bootstrap carousel指令,并希望动态调整大小以填充我的页眉和页脚之间的空间。
我的页眉和页脚是每个高度为70px的div。旋转木马工作得很好,当我让它做它自己的东西,然后插入图像。但是图像相当大,并不是完全相同的大小。我想也许这是img
标签的问题所以我将其更改为div
并将图像设置为每个图像的背景,高度设置为calc(100% - 70px - 70px)
。然而,div似乎永远不会得到计算出的高度(它们的高度始终为0)。
在线搜索后,我已将html
和body
标记设置为height: 100%
,因此不存在问题。
鉴于它有点难以解释,请参考 this plunkr
答案 0 :(得分:1)
给定百分比的高度仅在父元素也具有明确的高度设置时才有效 - 您在此处没有,因此无论是在calc()
还是height: x%
中使用它都无法使用直接
但是你可以使用calc(100vh - 140px)
,如果你对limited support in older browsers¹好的话。 100vh
是视口高度的100%,但不需要在html
元素之前的所有父元素上设置高度(因为height:100%
需要达到相同的高度的东西)。
¹请注意,caniuse中的已知问题提到“Safari& amp; iOS Safari(6和7)都不支持calc()中的视口单元。“根据您是否需要这些单元,可能会造成交易破坏。在这种情况下,您可以尝试使用绝对(或固定)定位(每个top
和bottom
70px)作为轮播容器。这样,它将再次具有定义的高度,并且子元素的100%应该起作用。