固定幅のWebサイトを構築しています(margin:autoのクラシックラッパーを使用)が、サイドバーの背景を画面の右端まで拡張したいと思います。
これまでのところ、私はこれを達成しました:
HTML
<div id="wrapper">
<div id="left">Content area</div>
<div id="right">
<div id="actual-sidebar">
Sidebar
<span class="clearme"></span>
</div>
</div>
</div>
CSS
body {
background: #333;
color: #fff;
overflow-x: hidden;
}
#wrapper {
width: 500px;
height: 1200px;
margin: auto;
border: 2px dashed #fff;
}
#left {
width: 300px;
height: 500px;
float: left;
}
#right {
width: 175px;
height: 500px;
margin-left: 325px;
margin-right: -9999px;
padding-right: 9999px;
background: #777;
}
#actual-sidebar {
width: 100%;
height: 100%;
border: 2px dotted #f0f;
}
ここで実際の動作を確認できます:http:
//jsfiddle.net/knjDV/
http://www.spazionegativo.it/layout-test/
この種の「全幅サイドバー」は、cssのみを使用して可能ですか?
上記の例では、実際のサイドバーの幅はピンクの境界線で強調表示されており、残りはすべてパディングと負のマージンです。Chromeで動作しましたが、IEが壊れたため、overflow-x:hiddenを追加して修正しました。
問題は、クリックして右にドラッグすると、選択するものがない場合でもビューがスクロールし、最終的にコンテンツが非表示になることです。私はこの問題を乗り越えることができないようです。
「ドラッグアンドスクロール」の問題に対する修正はありますか、それともこれを達成するためのまったく異なる方法がありますか?