У меня есть div-обертка, которая содержит 2 div рядом друг с другом. Над этим контейнером у меня есть div, который содержит мой заголовок. Div обертки должен быть 100% минус высота заголовка. Заголовок составляет около 60 пикселей. Это исправлено. Итак, мой вопрос: как мне установить высоту моего div-обертки равной 100% минус 60 пикселей?
<div id="header"></div>
<div id="wrapper">
<div id="left"></div>
<div id="right"></div>
</div>
Ответы:
Вот рабочий css, протестированный под Firefox / IE7 / Safari / Chrome / Opera.
«overflow-y» не одобрен w3c, но его поддерживает каждый крупный браузер. Два ваших divs #left и #right будут отображать вертикальную полосу прокрутки, если их содержание слишком высокое.
Чтобы это работало в IE7, вам нужно активировать режим, соответствующий стандартам, добавив DOCTYPE:
источник
position: relative
на контейнере. Затем разместите контейнер в любом месте на странице.В CSS3 вы можете использовать
источник
Если вам нужно поддерживать IE6, используйте JavaScript, поэтому управляйте размером div-оболочки (установите положение элемента в пикселях после считывания размера окна). Если вы не хотите использовать JavaScript, то этого сделать нельзя. Есть обходные пути, но ожидайте, что через неделю или две все будет работать в любом случае и в любом браузере.
Для других современных браузеров используйте этот CSS:
источник
отличный ... теперь я перестал использовать% he he he ... за исключением основного контейнера, как показано ниже:
а вот и ксс:
Я проверил это во всех известных браузерах и работает нормально. Есть ли недостатки при использовании этого способа?
источник
Вы можете сделать что-то вроде высоты: calc (100% - nPx); например высота: calc (100% - 70px);
источник
Убедитесь, что при использовании меньше
Иначе меньше не собирается правильно скомпилировать
источник
Это не совсем отвечает на поставленный вопрос, но создает тот же визуальный эффект, которого вы пытаетесь достичь.
источник
В этом примере вы можете определить различные области:
источник
Я еще не видел ничего подобного, но я думал, что выложу это там.
Тогда CSS:
Вот рабочий jsfiddle
Примечание: я понятия не имею, какова совместимость браузера для этого. Я просто играл с альтернативными решениями, и это, казалось, работало хорошо.
источник
Используйте div внешнего упаковщика, установленный на 100%, и тогда ваш div внутреннего упаковщика на 100% теперь должен быть относительно этого.
Я думал наверняка, что раньше это работало на меня, но, видимо, нет:
источник
Если вы не хотите использовать абсолютное позиционирование и весь этот джаз, вот решение, которое мне нравится использовать:
Ваш HTML:
ваш css:
источник
#header
должно бытьmargin-top:-60px;
. Во-вторых,height:100%
означает, что высота будет равна 100% высоты родительских элементов, не включая поля, отступы и границы. В зависимости от настроек прокрутки это может привести к появлению полос прокрутки или обрезке вашего контента.