2012-09-09 10 views
19

CSS3でWebkitのスクロールバーをどのようにスタイルできますか?divのCSS3スクロールバーのスタイル

は私が意味する、これらの特性

::-webkit-scrollbar { 
    width: 12px; 
} 

::-webkit-scrollbar-track { 
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
    border-radius: 10px; 
} 

::-webkit-scrollbar-thumb { 
    border-radius: 10px; 
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
} 

はここにここに私の現在のCSS overflow: hiddenは、スクロールバーを非表示に設定

.scroll { 
    width: 200px; height: 400px; 
    overflow: hidden; 
} 
+1

'overflow:hidden'はスクロールバーを隠すので、CSS3で飾ることはありません。 'overflow:scroll'または' overflow:auto'でスクロールバーを表示させる必要があります – keaukraine

答えて

53

である私のdivタグ

<div class="scroll"></div> 

です。 overflow: scrollを設定して、スクロールバーが常に表示されることを確認します。

::webkit-scrollbarプロパティを使用するには、それを呼び出す前に.scrollをターゲットにするだけです。

.scroll { 
    width: 200px; 
    height: 400px; 
    background: red; 
    overflow: scroll; 
} 
.scroll::-webkit-scrollbar { 
    width: 12px; 
} 

.scroll::-webkit-scrollbar-track { 
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
    border-radius: 10px; 
} 

.scroll::-webkit-scrollbar-thumb { 
    border-radius: 10px; 
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
} 
​ 

あなたはoverflow: hiddenを設定しているこのライブexample

+0

ありがとうございます。 mozillaブラウザでも同じことができる方法はありますか? – 2619

+0

jQuery/JavaScriptなしではありません。この質問を参照してくださいhttp://stackoverflow.com/questions/6165472/custom-css-scrollbar-for-firefox – jacktheripper

1
.scroll { 
    width: 200px; height: 400px; 
    overflow: auto; 
} 
0

を参照してください。これにより、<div>のサイズが大きすぎるものは隠されます。つまり、スクロールバーは表示されません。あなたの<div>明示的な幅および/または高さを与え、そしてoverflowautoに変更:あなただけのコンテンツが長い<div>以上である場合は、スクロールバーを表示したい場合は

.scroll { 
    width: 200px; 
    height: 400px; 
    overflow: scroll; 
} 

は、overflow: autooverflowを変更します。 overflow-yまたはoverflow-xを使用して1つのスクロールバーを表示することもできます。

0

css3スクロールバーの問題は、対話がコンテンツに対してのみ実行できることです。タッチデバイスのスクロールバーと対話できません。

関連する問題