У меня есть div, который я хочу заполнить всей высотой тела за вычетом заданного числа в пикселях. Но я не могу получить высоту: calc (100% - 50px), чтобы работать.
(Причина, по которой я хочу это сделать: у меня есть элементы с динамическими высотами, основанные на некоторых разных критериях, например высота изменений заголовка, основанная на разных элементах, которые он может содержать. Затем необходимо разделить содержимое div, чтобы заполнить остальные доступного свободного места.)
Однако элемент div сохраняет высоту содержимого - он не выглядит так, как будто он интерпретирует 100% как высоту элемента body.
HTML
<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>
CSS
body {background: blue; height:100%;position:relative;}
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 + 20px)); display:block}
Смотрите скрипту: http://jsfiddle.net/ElizabethMeyer/UF3mb/.
Я был бы признателен за любую помощь или указатели в правильном направлении.