Я пытаюсь установить div для определенного процента высоты в CSS
Процент чего?
Чтобы установить процентную высоту, его родительский элемент (*) должен иметь явную высоту. Это довольно очевидно, потому что если вы оставите высоту как auto
, блок будет принимать высоту своего содержимого ... но если у самого содержимого есть высота, выраженная в процентах от родительского, вы сделали себя немного Уловка 22. Браузер сдается и просто использует высоту контента.
Таким образом, родительский элемент div должен иметь явное height
свойство. Хотя эта высота также может быть в процентах, если вы хотите, это просто перемещает проблему на следующий уровень.
Если вы хотите, чтобы высота div составляла процент от высоты области просмотра, каждый предок элемента div, включая <html>
и <body>
, должен иметь его height: 100%
, поэтому существует цепочка явных процентных высот вплоть до div.
(*: или, если div расположен, «содержащий блок», который также является ближайшим предком, который должен быть расположен.)
В качестве альтернативы, все современные браузеры и IE> = 9 поддерживают новые модули CSS относительно высоты области просмотра ( vh
) и ширины области просмотра ( vw
):
div {
height:100vh;
}
Смотрите здесь для получения дополнительной информации .
height
свойства CSS с процентными значениями: stackoverflow.com/a/31728799/3597276