が付いている別のdivの内側に、固定された上部の位置に全幅の小さな赤いdivが必要overflow: scroll
です。jsFiddleがそれを明確にすることを願っています:http://jsfiddle.net/mCYLm/2/。
問題は、赤いdivがスクロールバーと重なっていることです。;right: 0
の右側を意味すると思います。div.wrapper
のスクロールバーは減算されませんdiv.main
。に移動するとoverflow: scroll
、div.wrapper
赤いバナーのサイズが適切になります(フィドル)。ただし、固定位置ではなくなりました(下にスクロールするとバナーが上にスクロールします)。
次の2つのことを一緒に達成するにはどうすればよいですか?
- 赤い旗はこのフィドルのように固定位置にあります。
- 赤いバナーは、このフィドルのようなスクロールバーを除いて全幅です。
これをGoogleChromeで動作させたいのですが。
HTML:
<div class="wrapper">
<div class="red-banner"></div>
<div class="main">
<div class="item">foo</div>
<div class="item">foo</div>
<div class="item">foo</div>
<div class="item">foo</div>
</div>
</div>
CSS:
div.wrapper {
position: relative;
}
div.main {
height: 200px;
overflow-y: scroll;
}
div.item {
border: 1px solid black;
margin: 20px;
padding: 20px;
}
div.red-banner {
background-color: red;
position: absolute;
left: 0;
top: 0;
right: 0;
height: 20px;
}