Użyj pełnej szerokości z wyłączeniem paska przewijania przepełnienia z „pozycją: absolutnie”
Chciałbym mieć małą czerwoną div z pełną szerokością w ustalonej górnej pozycji, w innym div, który maoverflow: scroll
. Mam nadzieję, że jsFiddle wyjaśni:http://jsfiddle.net/mCYLm/2/.
Problem polega na tym, że czerwony div pokrywa się z paskiem przewijania. zgadujęright: 0
oznacza prawą stronędiv.wrapper
; nie odejmuje paska przewijaniadiv.main
. Kiedy ruszamoverflow: scroll
wdiv.wrapper
, a następnie czerwony sztandar ma odpowiedni rozmiar (skrzypce). Jednak nie jest już w ustalonej pozycji (przewijanie w dół powoduje przewijanie banera w górę).
Jak mogę osiągnąć dwie następujące rzeczy razem?
Czerwony sztandar jest w stałej pozycji, jak wto skrzypce.Czerwony sztandar ma pełną szerokość z wyjątkiem paska przewijania jak wto skrzypce.Chciałbym, aby to działało w Google Chrome.
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;
}