Фон
Я работаю над интерфейсом на основе браузера, который должен заполнять весь экран без прокрутки. Базовая раскладка выглядит так:
![layout sketch](https://i.stack.imgur.com/fJzBE.png)
Чего я хочу достичь
Титульный div должен иметь фиксированную высоту (2em), а остальные 4 div / панели должны делиться на оставшееся пространство экрана в соответствии с установленным процентом.
Что я пробовал
Лучшее решение, которое я нашел, это " CSS - Как заставить элементы на 100% оставшегося / доступного пространства родительского элемента, не выходя за его пределы? ", что предполагает использование контейнера div с position:absolute
. Это работает во всех браузерах, но требует создания дополнительных DIV. Кроме того, панель 2 иногда можно принудительно запустить на следующей строке из-за неточностей в процентах ширины .
Мое предыдущее решение было основано на CSS3 Flexbox , но модель имеет недостатки, поскольку она не изменяет размеры дочерних элементов, имеющих процентную высоту, после растяжения контейнеров (по крайней мере, в Chrome этого не происходит). (Более новые атрибуты flex- * реализованы только в Chrome, а стандарт все еще меняется.)
Я также попробовал функцию calc () ; однако это еще не реализовано в Chrome. Кроме того, он требует жесткого кодирования высоты элемента заголовка в двух местах, чего я пытался избежать.
Edit:
Что я ищу
Просто чтобы прояснить, я не прошу идеального / чистого CSS-решения (так как, похоже, ничего не существует). Если кто-то может предложить какой-либо плагин jQuery или фреймворк с открытым исходным кодом, который может сделать это, для меня это будет достаточно.
Кроме того, мне не требуется обратной совместимости с выпусками браузера до 2012 года. (Поскольку решение использует технологию, которая реализована в некоторых браузерах и будет внедрена Firefox и Chrome в ближайшем будущем, это достаточно хорошо для меня.)