Wir müssen eine vertikale Bildlaufleiste für Überlauftext eines Divs einrichten. Das Problem ist, wenn wir die Höhe auf 100 % und den Überlauf auf Auto setzen, wird der Text über den übergeordneten Container hinaus ausgedehnt, weil ein anderes, vorgelagertes Div vorhanden ist. Hier ist ein Beispiel:
<style type="text/css">
.container {height: 100px; width: 100px; border: solid;}
.titlebar {height: 2em; background: gray;}
.app-body {height: 100%; overflow: auto; background: lightblue;}
</style>
...
<div class="container">
<div class="titlebar"></div>
<div class="app-body">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec condimentum pretium nisl.</div>
</div>
app-body
auf 100% gesetzt ist, hat sie eine Höhe von 100px, wodurch sie über den unteren Rand der container
par 2em
. Wir haben versucht, überhaupt keine Höhe zu verwenden für app-body
aber das führt dazu, dass es überläuft, ohne dass die Bildlaufleiste angezeigt wird.
Ich weiß, dass wir die Höhe auf einen geringeren Prozentsatz oder eine feste Anzahl von Pixeln festlegen könnten, aber das würde zu Problemen führen, wenn sich die Schriftgröße ändert. Wenn eine Höhe von 100% - 2em
gültig wäre, dann wäre das genau das, was wir zu definieren versuchen.