1週間前、最新のWebKitビルドにより、スクロールバーが出現する可能性があるすべての要素のスクロールバーの外観を再定義する機能が追加されたことが気づかれていませんでした。
- オーバーフロースタイルコンテナ
- ドロップダウンリスト
- 複数リスト(<複数選択>)
- テキスト入力フィールド(<textarea>)
イノベーションはまだ他のエンジンに実装されていません(普及率がゼロになる可能性があります)が、それでも共通の利益のために機能し、良いロールモデルを示し、開発者がじっと座っていないようにするのに役立ちます。 以下はオリジナルの出版物の翻訳です。
スクロールバーのスタイルを決定する記号は、スクロールバー擬似クラスです。 指定されている場合、標準コントロールの代わりにWebKitはCSSで指定された情報を使用します。
::-webkit-scrollbar {
幅:13px;
高さ:13px;
}
widthプロパティとheightプロパティは、それぞれ垂直スクロールバーの幅と高さを指定します。 値はパーセントで設定することもできます。これにより、通常どおり、親要素のサイズに基づいてピクセル値が計算されます。
スクロールバーは、バーとスクロールボタンで構成されます。 ストリップは、一種のフローティング「ボタン」とその周囲の2つの空の領域で構成されます。 スクロールバー自体のスタイリングに加えて、垂直および水平スクロールバーが交わる場所で空の「コーナー」のスタイルを設定することもできます。 さらに、TEXTAREAで「リサイズ」を定型化できます。 新しい擬似要素の完全なリストは次のとおりです。
- -webkit-scrollbar
- -webkit-scrollbar-button
- -webkit-scrollbar-track
- -webkit-scrollbar-track-piece
- -webkit-scrollbar-thumb
- -webkit-scrollbar-corner
- -webkit-resizer
これらの各オブジェクトは、境界線、影、背景画像などを定義するスタイルで設定できるため、完全にカスタムのスクロールバーを作成できます。 同時に、OSの設定(スクロールボタンの位置やクリックへの反応など)に応じた動作を保存します。 次の擬似クラスを擬似要素に適用できます。
- :horizontal-スクロールバーが水平かどうかを指定します
- :vertical-垂直スクロールバーでも同じ
- :デクリメント -スクロールボタンと空のスクロールバー領域に適用されます。 彼は、これらの要素がコントロールの内容を「後方にスクロール」するかどうかを明確にします(つまり、水平スクロールバーの場合は左にスクロールし、垂直スクロールバーの場合は上にスクロールします)。
- :増分は同じですが、「前方にスクロール」する要素の場合
- : start-スクロールボタンと空のスクロールバー領域に適用されます。 オブジェクトがスクロールスライダーの前にあるかどうかを決定します
- :終了は同じですが、スクロールスライダーの後
- :ダブルボタン -スクロールボタンがMacOSのように、スクロールバーの同じ端から「ペア」になるかどうかを指定します。 このセレクターが空のスクロールバー要素に適用される場合、「ダブルボタン」に隣接することを示します
- :単一ボタン -同じですが、「分割」スクロールボタン、およびそのようなボタンに隣接する空のスクロールバー要素用
- :no- button-スクロールバーの空の要素に適用され、要素がスクロールバーの端に直接隣接しているかどうか、つまりスクロールボタンがあるかどうかを示します。 実際、このセレクターは、セレクターに落ちなかった2番目の空のスクロールバーを選択します:ダブルボタン
- :corner- present-任意のスクロールバー要素に適用され、スクロールバーのジャンクションに空の「コーナー」が存在することを示します
- :window-inactive-スクロールバーのすべての要素に適用され、様式化されたコントロールを含むウィンドウがアクティブかどうかを示します。 最近のWebKitビルドでは、このセレクターを:: selection疑似要素にも適用できます。 著者は、他のすべての場所でこのセレクターを導入することに取り組んでおり、標準としてそれを促進したいと考えています。
上記のすべてに加えて、selectors:enabled 、: disabled 、: hover、およびactiveは、スクロールバー要素でも機能します。 一部の要素を非表示にするために、表示を設定できます:noneプロパティ
負のスクロールバーを含むスクロールバーのマージンも設定できます。 したがって、たとえば、スクロールボタンの重なりが実現されます。
新しい WebKit アセンブリを使用している場合、 この例では、MacOS Xの機能(デュアルボタン、非アクティブ、ボタンのオーバーラップなど)とWindows Vista(ホバー効果、バーをクリックしたときの外観)の両方を実装する派手なスクロールバーを見ることができますスクロールなど)。