У меня есть div, который я хочу заполнить всей высотой тела за вычетом заданного числа в пикселях. Но я не могу получить высоту: calc (100% - 50px), чтобы работать.CSS3 height: calc (100%) не работает
(Причина, по которой я хочу сделать это, есть элементы с динамическими высотами, основанные на некоторых разных критериях, например высота изменения заголовка, основанная на разных элементах, которые он может содержать. Затем необходимо разделить содержимое div, чтобы заполнить остальная часть имеющегося свободного места.)
Элемент div, однако, сохраняет высоту содержимого - он не выглядит так, как будто он интерпретирует 100% как высоту элемента тела.
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/.
Я хотел бы получить любую помощь или указатели в правильном направлении.
Заметим, что 'calc' не поддерживается в [все] (HTTP: // caniuse .com/calc), например сафари и браузер по умолчанию для Android. – Aquillo
@Aquillo '-webkit-calc()' поддерживается в последних версиях Safari и Safari на iOS –
Я только что заметил, что с помощью Safari 6 вы правы, Дэвид. – Aquillo