Я хотел бы иметь маленький красный div с полной шириной в фиксированной верхней позиции внутри другого div с overflow: scroll
. Я надеюсь, что jsFiddle проясняет это: http://jsfiddle.net/mCYLm/2/.
Проблема в том, что красный div перекрывает полосу прокрутки. Я полагаю, right: 0
означает правую часть div.wrapper
; он не убирает полосу прокрутки div.main
. Когда я перемещаю overflow: scroll
в div.wrapper
, красный баннер имеет правильный размер (скрипка). Однако он больше не находится в фиксированной позиции (прокрутка вниз заставляет баннер прокручиваться вверх).
Как я могу вместе достичь двух следующих целей?
- Красный баннер находится в фиксированной позиции, как в этой скрипке.
- Красный баннер имеет полную ширину, за исключением полосы прокрутки, как в этой скрипке.
Я бы хотел, чтобы это работало в 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;
}
right
, чтобы оно соответствовало ширине полосы прокрутки ... Требуется JS, чтобы убедиться, что любая полоса прокрутки будет правильно измерена .. - person Gabriele Petrioli   schedule 11.06.2012