【发布时间】:2020-04-23 14:36:46
【问题描述】:
我有一个 div,我想填充身体的整个高度,减去以像素为单位的设定数字。但我无法让height: calc(100% - 50px) 工作。
我想这样做的原因是我的元素具有基于一些不同标准的动态高度,例如标题的高度根据它可以包含的不同元素而变化。然后内容 div 需要拉伸以填充剩余的可用空间。
然而,div 元素保持内容的高度 - 它似乎不会将 100% 解释为 body 元素的高度。
body {
background: blue;
height: 100%;
}
header {
background: red;
height: 20px;
width: 100%;
}
h1 {
font-size: 1.2em;
margin: 0;
padding: 0;
height: 30px;
font-weight: bold;
background: yellow;
}
#theCalcDiv {
background: green;
height: calc(100% - (20px + 30px));
display: block;
}
<header>Some nav stuff here</header>
<h1>This is the heading</h1>
<div id="theCalcDiv">This blocks needs to have a CSS calc() height of 100% - the height of the other elements.</div>
如果有任何帮助或正确方向的指示,我将不胜感激。
【问题讨论】:
-
请注意,
calc不支持 all 浏览器,例如 safari 和默认的 android 浏览器。 -
@Aquillo
-webkit-calc()支持最新版本的 Safari 和 iOS 上的 Safari -
我刚刚注意到
Safari 6的变化,你说得对,大卫。 -
确保设置了父元素的高度。
-
还要确保操作符的两边都有一个空格。空间+空间空间空间
标签: css