CSSスクロールバースタイル設定の実装

CSSスクロールバースタイル設定の実装

Webkit スクロールバー スタイルのリセット

1. スクロールバーには、スクロールバー ボタンとトラックが含まれています。トラックはさらにトラックピースとサムに分割されます。トレースピースは親指の上部と下部です。
2. スクロールバーの角は水平角と垂直角の交点です
3. resizeは、スクロールバーの交差点にある要素をドラッグしてサイズ変更するための小さなコントロールを設定するために使用されます。

構成構造図は以下のとおりです。

スクロール バーのカスタム スタイルが見つかると、ブラウザーのデフォルトのスタイル設定は無効になり、CSS で定義されたスタイルのみが使用されます。つまり、スクロールバー ボタンまたはスクロールバー トラックに対してのみ値を設定することはできません。

-webkit-scrollbar /* スクロールバー全体。リセット時に設定する必要があります*/
-webkit-scrollbar-button /* スクロールバートラックの両端にあるボタン*/
-webkit-scrollbar-track /* スクロールバー トラック (サムとトレースピースを含む) */
-webkit-scrollbar-track-piece /* トラックの中央部分と下部部分の上部と下部 (左と右) の部分 */
-webkit-scrollbar-thumb /*スクロールバー内の小さな四角*/
-webkit-scrollbar-corner /* 垂直と水平の交差角度 */
-webkit-resize // スクロールバーの交差点にある、要素をドラッグしてサイズ変更するための小さなコントロール*/

以下の疑似クラスと組み合わせて設定できます (スクロール バーはオペレーティング システムのブラウザーによって異なる場合があるため、以下の疑似クラスに従って設定できます)。

  • :水平 水平トラック、トラックピース、サム
  • :vertica 垂直トラック、トラックピース、サム
  • :上と左のボタンの場合は減算ボタン、上または左の場合はトラックピース
  • :下と右のボタン用の増分ボタン、下と右のトラックピース
  • :start ボタンとトラックピースに適用され、オブジェクト(ボタンまたはトレースピース)がスライダーの前に配置されているかどうかを示します。
  • :end ボタンとトラックピースに適用されます。オブジェクト(ボタンまたはトレースピース)がスライダーの後ろに配置されているかどうかに関係なく適用されます。
  • :double-buttonはボタンとトラックピースに適用されます。トラックの終わりがボタンのペアであるかどうか
  • :single-buttonはボタンとトラックピースに適用されます。トラックの終わりがボタンであるかどうか
  • :no-button はトラックピースに適用されます。トラックの最後にボタンはありません。
  • :corner-present は、スクロールバーの角が存在するかどうかに関係なく、すべてのスクロールバーに適用されます。
  • :window-inactive は、フォーカスがウィンドウ上にない場合、スクロールバー領域を含むすべてのスクロールバーに適用されます。
  • :enabled、:disabled、:hover、:active疑似クラスも適用される

IEでは、スクロールバーの色のみを変更できます。

scrollbar-arrow-color:#f2f2f3; /*上下矢印*/
scrollbar-track-color /*下部の背景色*/
scrollbar-face-color /*スクロールバーの前景色、つまみに対応*/
scrollbar-shadow-color /*スクロールバーの端の色、サムネイルの境界線*/
scrollbar-highlight-color /*スクロールバーの全体的な色*/
scrollbar-base-color /* スクロールバーの基本色*/

参考文献

スクロールバーのスタイル設定 | Webkit

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  Reactのコンテキストとプロパティの説明

>>:  HTML タイトルに二重引用符を追加する方法

推薦する

ドロップダウンメニューを表示または非表示にするJavaScript

この記事では、ドロップダウンメニューを表示および非表示にするJavaScriptの具体的なコードを参...

XHTML: フレーム構造タグ

フレーム構造タグ <frameset></frameset>フレームを使用す...

Linux ディスクとディスク パーティションを理解するための記事

序文Linux システムのすべてのハードウェア デバイスは、ファイルの形式で表現され、使用されます。...

MySQLインデックス最適化分析に関する簡単な説明

記述した SQL クエリが遅いのはなぜですか?作成したインデックスが頻繁に失敗するのはなぜですか?こ...

CSSクラス名の問題の詳細な説明

数字で始まる次の CSS クラス名は有効になりません。 .1番目{ 色: 赤; }有効な CSS ク...

MySQL では UTF-8 が推奨されないのはなぜですか?

最近、Rails 経由で「utf8」でエンコードされた UTF-8 文字列を MariaDB に保存...

MySQL Innodb インデックス メカニズムの詳細な紹介

1. インデックスとは何ですか?インデックスは、ストレージ エンジンがレコードをすばやく検索するため...

シェルスクリプトを使用して CentOS7 に python3.8 環境をインストールする (推奨)

ワンクリック実行仮想マシンに Python 3.8 をインストールするには、ネットワーク アダプター...

KVM ベースの SRIOV パススルー構成とパフォーマンス テストの詳細な説明

SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...

MySQL 演算子の具体的な使用法 (and、or、in、not)

目次1. はじめに2. 本文2.1 および演算子2.2 または演算子2.3 オペレーター2.4 no...

CSSはletter-spacingプロパティを通じて単語間の間隔を制御します。

letter-spacing プロパティ: 文字間のスペース (文字間隔) を増減します。このプロ...

Reactにおけるコンポーネント通信の詳細な説明

目次親コンポーネントは子コンポーネントと通信します子コンポーネントは親コンポーネントと通信しますコン...

Vueは書籍ショッピングカートの機能を実現

この記事の例では、書籍ショッピングカート機能を実現するためのVueの具体的なコードを参考までに共有し...

Rancher で Kubernetes 用の標準化された VMware イメージを構築する方法

Kubernetes を学習するときは、Kubernetes 環境で練習する必要があります。ただし、...

元のPATHを上書きしてコマンドが見つからないというメッセージが表示されるコマンド失敗の問題を解決する方法

同僚から、LINUX サーバー上の多くのコマンドが (コマンドが見つかりません) というプロンプトで...