HTML
<div class="scroller"> <div class="banner-wrapper"> <div class="banner"></div> </div> </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>
CSS
* { margin: 0; padding: 0 } body { padding-top: 30px; } div.main { height: 200px; width: 100%; overflow-y: scroll; position: absolute; z-index: 50; background: -webkit-gradient(linear, center top, center bottom, from(white), to(rgba(255,255,255,0))); } div.item { border: 1px solid black; margin: 20px; padding: 20px; } div.scroller { height: 20px; width: 100%; position: absolute; z-index: 100; overflow: hidden; } div.banner-wrapper { background: transparent; position: relative; height: 20px; overflow-y: scroll; left: 0; margin-right: -20px; } div.banner { height: 20px; background: -webkit-gradient(linear, center top, center bottom, from(white), to(rgba(255,255,255,0)));; margin-left: 20px; margin-right: 40px; }
Development Version: http://jsfiddle.net/mCYLm/13/
Final version: http://jsfiddle.net/mCYLm/14/
Works with scaling and variable width of the viewport.
! BUG : the scroll button in the upper right is unavailable / clickable.
Tested:
- IE6,7,8,9 (windows)
- FF11 (Windows)
- Google Chrome 18 (ubuntu)
- Safari 5.1 (OSX)
doptrois
source share