2009-03-30 17 views
17

たとえば、固定位置を使用するメニューがありますが、現在のウィンドウの高さよりも大きければ、これをスクロールできる方法はありますか?ブラウザのデフォルトの動作は、ブラウザを非表示にして、アクセスを許可しないことです。スクロールで固定の位置付け

div#sidebar { 
    position:fixed; 
    top:30px; 
    left:0; 
    bottom:4px; 
    width:148px; 
    background-color:#d7d7d7; 
} 

ここに私が現在持っているもののスニペットがあります。 JavaScriptやいくつかの行が必要でしょうか?

編集:これが実際に正しいかどうかはわかりません。文書の先頭から30ピクセルの要素が必要です。私はオーバーフローを使ってこれをスクロールさせたい:autoとheight:100%。いずれにしても、スクロールバーが表示されない、またはdivの一部が表示されないように見えます。

+0

あなたは答えを受け入れました。したがって、人々はそれが動作すると仮定します。 – cjk

+0

質問に関連して、答えは正しいが、文脈に関連して、それは完璧ではない。私はこれを完全に認識していますが、単に質問に回答としてマークされているだけなので、ディスカッションが終了したことを示すものではありません。 – Kezzer

答えて

24

このdivにoverflow:scroll(またはoverflow:auto)を設定し、高さを100%に設定する必要があります。

+0

これは問題ありませんが、top:30pxに設定するとスクロールバーが正しく表示されません。このdivを別のdivに含める必要がありますか?外側のdivの位置と内側のdivの位置は固定されていますか? – Kezzer

+0

それはうまくいくはずです。あなたのコンテンツで内側のdivを設定し、padding-top:30pxで外側のdivを設定し、top:30pxを取り除いてください:) – Seb

+0

'height:100%'を設定できない場合)、あなたは単に 'max-height:100%'を使うことができます – JanBrinker