Пожалуйста, помогите мне решить квест. У нас есть 3 div-блока. Высота первого div равна 100px (но в реальном мире это динамическое значение). Второй блок имеет фиксированную высоту и имеет еще один блок в качестве дочернего элемента. Детский блок должен иметь высоту, растянутую до нижней части экрана. Но поскольку наш второй блок относительный, дно: 0 будет означать нижнюю часть второго блока. Какова наилучшая практика для таких случаев, чистый CSS, пожалуйста?Позиционирование абсолютного элемента полной высоты внутри относительно одного
body > div { height: 100px; }
.first { background: lightblue; }
.second {
background: lightgreen;
position: relative;
}
.second div {
position: absolute;
background: pink;
width: 50%;
height: 200px;
top: 100px;
}
<div class="first">The height of the block may vary greately.</div>
<div class="second">
<div>This DIV should take whole free space to the bottom of the screen.</div>
</div>
UPD:
можно достичь эффекта путем обертывания второй DIV в дополнительный DIV (ширина позиции абсолютного и снизу: 0) и оставить его с прозрачным фоном, но тогда статическое содержание «за ним» становится непригодным. Вот an example.
который ДИВ должен занять оставшееся место? второй div или ребенок второго div? у ребенка высота: 200 пикселей. Я предполагаю, что второй возьмет это? – jmag
@jmag ребенок должен иметь оставшееся пространство. 200px - случайное число. – Mike
Почему у вас нет 3 div на одном уровне, а не вложенных? – Stickers