У меня фиксированная размерная область с фиксированными размерами с полосами прокрутки, содержащими контент с переменным размером.Вложенная минимальная высота не работает
Теперь мне нужно обернуть содержимое в два div, которые по крайней мере такие же большие, как и площадь, но расширяются, чтобы соответствовать содержимому.
<div id="area">
<div id="outer">
<div id="inner">
<div id="content">content</div>
</div>
</div>
</div>
Требования:
- Они должны расширяться, поэтому их высота должна быть установлена на автоматический режим.
- Для того, чтобы заполнить контейнер их минимальный размер должен быть 100%
Поэтому я попытался следующие CSS (полный пример в JsFiddle):
#area {
/* defined outside */
position: absolute;
width: 100%;
height: 100%;
padding: 20px;
box-sizing: border-box;
overflow: scroll;
}
#outer, #inner {
min-width: 100%;
min-height: 100%;
}
Это делает работу для #outer
но не имеет эффект на #inner
. Как я могу это исправить?
ОБНОВЛЕНИЕ Меня интересует только Chrome, если это помогает.
Кроме того, я могу признать, что это может быть невозможно, если указать на какой-то авторитетный источник с объяснением.
UPDATE 2
Так я проанализированных CSS спецификации и пришли к выводу, что мои требования не могут быть удовлетворены:
Для мин-высота для работы он должен быть абсолютно позиционирован или это содержащий высота блока не должна зависеть от высоты содержимого CSS2(10.7)
мне нужно Autosizing так ни
#inner
, ни#outer
может быть абсолютно позиционирован. Это означает, что , содержащий блок, должен иметь указанную высоту.Поэтому
#outer
не может содержать блок#inner
. Это оставляет мне#area
.В соответствии с CSS2(10.1) это возможно только для
#inner
, когда элемент расположен абсолютно, что конфликтует с моей целью.
Это блокирует высоту '# outer', которая не соответствует требованиям 2. Мне нужно, чтобы она расширялась и прокручивалась на' # area'. –
Хотя это не решает мою проблему, вы были правы, что '# outer' нуждается в точной высоте для относительной калибровки' # inner' для работы (см. UPDATE 2 выше). –