Yay, после экспериментов, я наконец нашел ответ!Протестировано для работы на Chrome 11, Firefox 4, Opera 11.
CSS:
.middle { position: absolute; left: 120px; overflow: auto; }
.content { padding-right: 150px; }
.middle, .right-sidebar { top: 100px; bottom: 50px; }
.right-outer { float: right; }
.right-sidebar { position: fixed;}
.right-outer, .right-sidebar { width: 150px; }
HTML:
<div class='middle'>
<div class='right-outer'>
<div class='right-sidebar'>
Sidebar content goes here.
</div>
</div>
<div class='content'>
Content goes here.
</div>
</div>
Вы можете увидеть рабочую демонстрацию здесь: http://jsfiddle.net/b4kPm/2/
РЕДАКТИРОВАТЬ: Ой, это не работает в Opera 11!Интересно, что пошло не так ...
РЕДАКТИРОВАТЬ 2: Абсолютное позиционирование Opera не будет учитывать полосы прокрутки.Пришлось использовать float: right
.
РЕДАКТИРОВАТЬ 3: Как я и думал ... Он не будет автоматически перенастраиваться, когда содержимое динамически изменяется, чтобы не иметь переполнения содержимого.Это будет работать только при загрузке страницы или повторном рендеринге контента.