2013-01-10 40 views
10

私が取り組んでいるデザインでDIVの上に現れるスクロールバーのスタイルを設定しようとしています。それはWebkitだけなので、プラグインではなくちょうどCSSだけでかなり得られるはずです。Webkitブラウザで透明なカスタムスクロールバートラックを作成する方法はありますか?

残念ながら、私は大きな問題にぶつかりました。このデザインでは、OS X Mountain Lion/iOSと同じように、スクロールバーがコンテンツを透明な効果でオーバーラップさせる必要があります。

カスタムスタイルをスクロールバーに適用すると、スクロールバーに収まるようにコンテンツのサイズが変更されますが、インスペクタでスクロールバーの下に表示されるようにコンテンツのサイズを変更できましたが、スクロールバーのトラックを透明にします。

私は::の両方にこれらを適用しようとした - のWebKit-スクロールバーと:: - webkitの-スクロールバーのトラック領域:

  • 背景:RGBAと透明
  • 透明背景色

いずれも動作していないようです。私があきらめる前にJavaScriptのカスタムスクロールバーソリューションを試してみると、他の誰かが答えを持っているかどうか分かります。

* { 
 
    list-style:none; 
 
    margin:0; 
 
    padding:0; 
 
} 
 
body { 
 
    padding:20px; 
 
} 
 
#content { 
 
    background:#333; 
 
    height:400px; 
 
    padding:1px; 
 
    width:398px; 
 
} 
 
#content li { 
 
    background:#666; 
 
    height:100px; 
 
    margin-bottom:10px; 
 
    width:400px; 
 
} 
 
.scrollable-content { 
 
    overflow-x:hidden; 
 
    overflow-y:scroll; 
 
} 
 
.scrollable-content::-webkit-scrollbar { 
 
    background:transparent; 
 
    width:30px; 
 
} 
 
.scrollable-content::-webkit-scrollbar-track { 
 
    background:transparent; 
 
} 
 
.scrollable-content::-webkit-scrollbar-thumb { 
 
    background:#999; 
 
}
<ol class="scrollable-content" id="content"> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
</ol>

私はすでに、これらをチェックしました:

webkit css scrollbar styling

How to prevent a webkit-scrollbar from pushing over the contents of a div?

CSS: Possible to "push" Webkit scrollbars into content?

+0

: - あなたのフィドルの例を更新しまし>http://jsfiddle.net/F9p7S/

は、このアプローチを試してみてください。 –

+0

回避策を見つけたことがありますか?私はトラックの部分を見えないようにしようとしています。 – RyanCW

+0

いいえ、不可能です。ここで正しい答えを見てください。 http://stackoverflow.com/a/33686575/1008919 – sinrise

答えて

4

を私は」私は同じ問題を解決しようとしています

.scrollable-content::-webkit-scrollbar * { 
    background:transparent; 
} 
.scrollable-content::-webkit-scrollbar-thumb { 
    background:#999 !important; 
} 
+2

これは動作しません。 – sinrise

+0

背景が不透明(つまりrgba)の場合は動作しません –

+0

これはうまくいき、3つのセレクタ(ここでは2つしか表示されていません)をすべて使用してください。最初のものは幅を指定し、うまくいきません。 – gmustudent

関連する問題