У меня такая разметка:
<div class="FixedHeightContainer">
<h2>Title</h2>
<div class="Content">
..blah blah blah...
</div>
</div>
CSS выглядит так:
.FixedHeightContainer
{
float:right;
height: 250px;
width:250px;
}
.Content
{
???
}
Из-за своего содержимого высота div.Content
обычно больше, чем пространство, предоставляемое div.FixedHeightContainer
. На данный момент div.Content
весело выходит из низа div.FixedHeightContainer
- совсем не то, что я хочу.
Как указать div.Content
полосу прокрутки (желательно только вертикальную, но я не привередливый), когда ее высота слишком велика, чтобы поместиться?
overflow:auto
и overflow:scroll
ничего не делают по какой-то странной причине.
Content
фиксированную высоту, вы не должныFixedHeightContainer
указывать фиксированную высоту, потому что вы не можете знать, какой высоты будет ваш заголовок, поэтому егоContent
могут вытолкнуть. См .: jsfiddle.net/ftkbL/2. Вы должны установить фиксированную высоту только для элемента сoverflow: scroll
. См. Jsfiddle.net/ftkbL/3 или jsfiddle.net/ftkbL/4FWIW, вот мой подход = простой, который работает для меня:
<div id="outerDivWrapper"> <div id="outerDiv"> <div id="scrollableContent"> blah blah blah </div> </div> </div> html, body { height: 100%; margin: 0em; } #outerDivWrapper, #outerDiv { height: 100%; margin: 0em; } #scrollableContent { height: 100%; margin: 0em; overflow-y: auto; }
источник
Код из приведенного выше ответа Dutchie432
.FixedHeightContainer { float:right; height: 250px; width:250px; padding:3px; background:#f00; } .Content { height:224px; overflow:auto; background:#fff; }
источник
использовать
overflow
собственностьoverflow: hidden; overflow: auto; overflow: scroll;
источник