2011-07-12 3 views
1

CSSでこれを行うことは可能ですか?次のHTMLを考える:Javascript - コンテンツにフィットするようにdivを展開しますが、コンテナの外側には展開しません

<div class="main-container"> 
    <div class="left"> 
     ... 
    </div> 
    <div class="right"> 
     <div class="top"> 
      ... 
     </div> 
     <div class="bottom"> 
      dynamic content 
     </div> 
    </div> 
</div> 

私はそれがトップとmain-containerの底部との間の空間をオーバーフローする場合bottomはスクロールしたいです。

これは、高さをbottomと指定しないとどうしてできますか?

可能であれば、他の要素に高さを指定しないことをお勧めします。今はありませんが、topも動的コンテンツを持つことができます。

上記のHTMLは必要に応じて変更できます。私が必要とするのは、左の列、右の列、および右の列の下の部分が、コンテキストがメインコンテナの空きスペースを超えている場合にスクロールすることです。

+0

あなたがオーバーフローを試してみました:.bottomにスクロールしますか? –

+0

同じ要素に高さを指定しない限り、overflowプロパティを設定しても効果はありません。私は具体的にオーバーフローをシミュレートする方法を探しています:.bottomの高さを指定することなく.bottomをautoにします。私が望むのは、ダイナミックに拡張された.bottom、おそらく動的に生成された.topがあり、それが.main-containerの境界を超えた場合に自動的にスクロールします。私が言うことから、これには純粋なCSS(非JavaScript)の解決策がないかもしれません。 – taz

答えて

0

最終的には、内容がそれらの範囲を超えているかどうかを知るために、何らかの種類の制限(heightまたはmax-height)を指定する必要があります。

これらの寸法を設定すると、必要に応じてoverflow:auto;にスクロールバーが表示されます。これはあなたが探しているものである

1

希望:

<div class="main-container"> 
    <div class="left" style="float: left; width:33%"> 
     ... 
    </div> 
    <div class="right" style="float: right; width:66%"> 
     <div class="top" style="height: auto;"> 
      ... 
     </div> 
     <div class="bottom" style="max-height: {height of main-cont.}; overflow-y: scroll;"> 
      dynamic content 
     </div> 
    </div> 
</div> 
+0

このソリューションは、私が.bottomの高さを指定したくないので機能しません。 max-heightを指定する目的のために、heightを指定するのと同じ欠点があります。つまり、.bottomが特定の高さ測定値を「知る」必要がない方法を探しています。また、.bottomのmax-heightを.main-containerの高さに設定すると、.ain + containerの高さが.top + heightの.bottom> .main-containerの高さであれば、。 – taz

関連する問題