二重コロンのプレフィックスが付いた擬似要素は初めてです。 Webkitのみのcssを使用したスクロールバーのスタイリングについて説明しているブログ記事に出会いました。擬似要素CSSは個々の要素に適用できますか?
/* This works by applying style to all scroll bars in window */
::-webkit-scrollbar {
width: 12px;
}
/* This does not apply the scrollbar to anything */
div ::-webkit-scrollbar {
width: 12px;
}
このフィドルでは、divのスクロールバーをカスタマイズしたいと思いますが、メインウィンドウのスクロールバーはデフォルトのままです。
あなたの考えは正しかった。ただし、div
の後にスペースがあるdiv ::-webkit-scrollbar
という表記は、実際にはdiv *::-webkit-scrollbar
と同じです。このセレクタは、「<div>
」内の任意の要素のスクロールバーを意味します。 div::-webkit-scrollbar
を使用します。
http://jsfiddle.net/4xMUB/2/ のデモを参照してください
カスタムスクロールバーを使用するためにクラスセレクタを使用したい。
どういうわけか.foo::-webkit
は動作しませんが、div.foo::-webkit
動作します!それらの## $$ * ##擬似物....
http://jsfiddle.net/QcqBM/16/ を参照してください
また、要素のIDによってこれらのルールを適用することもできます。 divのスクロールバーのスタイルを「myDivId」というIDにする必要があるとします。その後、次のことができます。これにより、さまざまな要素のスクロールバーにさまざまなスタイルを使用できます。
#myDivId::-webkit-scrollbar {
width: 12px;
}
#myDivId::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
}
#myDivId::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}