2011-09-15 30 views
0

私はブラウザのビューポートの高さを記入する必要がありますが、ユーザーがウェブページを上下にスクロールしたときに同じ位置に表示されるdivがあります。位置:固定;これを行いますが、私はそれはのdivぎくしゃくと低速のオーバーフロースクロールバーを作っているとしてそれを使用することができません。IE7 div位置固定

div.panel { 
    position: absolute; 
    top: 36px; 
    right: 0; 
    overflow: auto; 
    background: #636362; 
    padding: 0 0 20px 0px; 
    width: 290px; 
    height: 100%; 
} 

答えて

1

すべてのスクロールバーは同様に動作するので、私は、あなたが「ぎくしゃくと遅い」と何を意味するかわからない:私は現在持っている私には、例えばので、使用することができます位置や方法があります。これは私があなたの問題を解決する方法を次のとおりです。

HTML:

<div class="fixed">I'm fixed!</div> 
<p>Rest of page</p> 

はCSS:

html, body { 
    /* make sure the page is at least height of viewport */ 
    height: 100%; 
} 
body { 
    /* because the fixed div is no part of the flow, 
    make sure it is not overlapping the webpage */ 
    padding: 0 0 0 100px; 
} 
.fixed { 
    height: 100%; 
    width: 100px; 
    left: 0; 
    position: fixed; 
    background: #e0e0e0; 
    /* only vertical-scrolling, but can be changed of course */ 
    overflow-y: scroll; 
} 

JSfiddled Live example

少なくともIE7、IE8とFirefoxで動作します。

+0

そのためのおかげで、私は出発点として、あなたのコードを使用して問題を解決したと思います。それは私が使っていたいくつかのjQueryライブラリを行うことであり、それはIEで、余分なスタイルを注入しました。遅いことで、私はスクロールバーが応答の遅延を持っていた意味しました。 – melon

+0

は、遅延の問題は、このように固定されていますか?私は本当に私のWindowsプロセスが凶暴うとしているだけ遅いスクロールバーを、経験したことがないし、私のカーソルがすぐにとにかくLinuxへ1.以下の切り替えのFPSを打ちます... –