最大の高さを持つ親要素と、この親要素を満たす子要素が必要です。子のコンテンツが親を超えている場合、スクロールバーが表示されます。私はこのようにそれを解決しようとしました:
div.parent {
max-height: 50px;
width: 100px;
border: 1px solid black;
}
div.child {
height: 100%;
overflow-y: auto;
}
<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>
残念ながら、これは期待どおりに機能しません。子供は親の上に成長します。
スクロールしてはならない他のアイテムを保持している可能性があるため、親に overflow-y: auto を設定することはオプションではないことに注意してください。子は、親に残されたスペースを埋める疑いがあります。詳細については、ライブ DEMO を参照してください。