divに次のように伝えるときの理由を説明してください。
高さは 500px で、最大高さも 500px です。
必要に応じてオーバーフローします (自動)。
要素を div 内に動的に配置すると、必要なサイズに成長し、私の制限を考慮すると、div ではなくページ全体がスクロールします。
なぜ?直し方?
わかりました、最小限の詳細で申し訳ありません。display: inline-tableを使用している場合、私が書いた機能しないものはすべて無視されます...ありがとう
以下は私にとってはうまくいくようです。ここでデモを参照してください: http://jsbin.com/iqigen/5/edit
<style>
#box {
height: 500px;
overflow: auto;
}
</style>
<div id="box"></div>
ネストされた要素の集合的な高さが親の高さを超えると、親はオーバーフローします。コンテンツがオーバーフローすると、親要素にスクロールバーが表示され、コンテナの境界を越えて子要素が表示されなくなります。
以下を使用して、いくつかの動的要素を追加できます。
var colors = [ '#F00', '#660', '#066' ];
setInterval( addElement, 1000 );
function addElement(){
$("<p>", { text: new Date() })
.css( 'background', colors[ Math.floor( Math.random() * colors.length ) ] )
.appendTo( "#hello" );
}
言葉遣いに基づいて何を求めているのか正確にはわかりません。ただし、div が大きくならず、コンテンツが div を超えて背景に移動すると、div がコンテンツよりも小さいままページがスクロールする場合。
これが発生する理由は、max-height: 500px; を設定したためです。あなたのdivで。これを行うことで、「何があっても 500px を超えないように」と言っているのです。min-height を 500px に設定すると、コンテンツに合わせて大きくする必要がない限り、常に 500px になります。
これがあなたの求めているものと正確に一致しない場合は、もう一度お詫び申し上げます。