Próbuję ustawić div na określoną procentową wysokość w CSS
Procent czego?
Aby ustawić procentową wysokość, jego element nadrzędny (*) musi mieć określoną wysokość. Jest to dość oczywiste, ponieważ jeśli zostawisz wysokość as auto
, blok przyjmie wysokość swojej zawartości ... ale jeśli sama treść ma wysokość wyrażoną w procentach rodzica, to trochę się stworzyłeś Catch 22. Przeglądarka poddaje się i po prostu używa wysokości zawartości.
Zatem element nadrzędny elementu div musi mieć wyraźną height
właściwość. Chociaż ta wysokość może być również procentowa, jeśli chcesz, to po prostu przenosi problem na następny poziom.
Jeśli chcesz, aby wysokość div była procentem wysokości widocznego obszaru, każdy przodek elementu div, w tym <html>
i <body>
, musi mieć height: 100%
, więc istnieje łańcuch wyraźnych procentowych wysokości do elementu div.
(*: lub, jeśli element div jest umieszczony, „zawierający blok”, który jest najbliższym przodkiem, który ma również zostać umieszczony).
Alternatywnie, wszystkie nowoczesne przeglądarki i IE> = 9 obsługują nowe jednostki CSS w odniesieniu do wysokości ( vh
) i szerokości ( vw
):
div {
height:100vh;
}
Więcej informacji znajdziesz tutaj .
height
nieruchomości o wartości procentowych: stackoverflow.com/a/31728799/3597276