Chcę mieć element nadrzędny, który ma maksymalną wysokość i element potomny, który wypełnia ten element nadrzędny. Jeśli zawartość dziecka przekracza rodzic, powinien pojawić się pasek przewijania. Starałem się go rozwiązać tak:Dziecko jest większe niż rodzic z maksymalną wysokością. Przepełnienie nie ma żadnego efektu
HTML:
<div class="parent">
<div class="child">
<div class="some-content">
abcde<br>abcde<br>abcde<br>abcde<br>abcde<br>
abcde<br>abcde<br>abcde<br>abcde<br>abcde<br>
abcde<br>abcde<br>abcde<br>abcde<br>abcde<br>
abcde<br>abcde<br>abcde<br>abcde<br>abcde<br>
abcde<br>abcde<br>abcde<br>abcde<br>abcde<br>
</div>
</div>
</div>
CSS:
div.parent {
max-height: 50px;
width: 100px;
border: 1px solid black;
}
div.child {
height: 100%;
overflow-y: auto;
}
Niestety to nie działa zgodnie z oczekiwaniami. Dziecko rośnie nad rodzicem.
Proszę uszanować, że ustawienie overflow-y: auto dla PARENTA nie jest opcją, ponieważ podejrzewa się, że posiada inne przedmioty, które nie powinny być przewijane. Dziecko jest podejrzane o wypełnienie przestrzeni pozostawionej w rodzicu. Zobacz live DEMO, aby uzyskać więcej informacji.
Zmiana "maks. Wysokości" na "wysokość" wydaje się mieć wpływ. Nie wiem, czy to jest to, czego chcesz ... – LinkinTED
Musisz określić wysokość elementu potomnego. W przeciwnym razie przepełnienie nie będzie działać. – rgin
To powinno wyjaśnić, dlaczego to nie działa: http://stackoverflow.com/questions/5657964/css-why-doesnt-percentage-height-work Jeśli chodzi o rozwiązania ... albo ustaw konkretną wysokość elementu zawierającego lub użyj JavaScript. Edycja: Ustawienie konkretnej wysokości elementu zawierającego nie naprawi dokładnie problemu, ponieważ '100%' będzie naśladować dokładnie jego wysokość. – SombreErmine