Próbuję sprawić, aby kontener wypełniał całą stronę (lub rzutnię, w zależności od tego, która wartość jest większa), ale wystąpiły problemy. Korzystam z zaleceń z tego wpisu: https://stackoverflow.com/a/17555766, aby ustawić <html>
i <body>
na 100% wysokości.Dlaczego wysokość kontenera nie jest dziedziczona, gdy ma rozmiar min-height?
Ale zauważyłem, że .Content
div wypełnia tylko rzutnię gdy wysokość <body>
jest ustawiony z height: 100%
, ale nie z min-height: 100%
. Dlaczego? Dlaczego .Content
nie podnosi wysokości <body>
, gdy jest ustawiona na min-height
? Czy jest na to poprawka (bez bezwzględnego pozycjonowania lub stałych wysokości)?
html
<html>
<body>
<div class="Content">Content</div>
</body>
</html>
css
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
}
body {
/* does not work for .Content: */
min-height: 100%;
/* does work for .Content: */
/* height: 100%; */
background: blue;
}
.Content {
background: red;
min-height: 100%;
}
codepen: http://codepen.io/anon/pen/mJEMVX
P.s .: gdy wysokość <body>
jest ustawiony z height: 100%
zarówno min-height: 100%
i height: 100%
działać zgodnie z oczekiwaniami na .Content
.
Domyślam się, że podstawową przyczyną jest okrągła zależność między wysokością ciała a wysokością treści. Wyobraź sobie, że po ".content" jest jeszcze jeden element. Teraz, jeśli zawartość rozszerza się do 100%, ciało również musi się rozwinąć, co spowodowałoby dalszy rozwój zawartości. Prawdopodobnie powodem, dla którego specyfikacja definiuje wysokość procentową w taki sposób, jak to robi, jest złamanie tej zależności cyklicznej. –
@Alexey Lebedev: Zgadza się. – BoltClock