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 タイトルに二重引用符を追加する方法

推薦する

Workbench を介して MySQL データベースにリモートでアクセスする方法の詳細な説明

序文Workbench が 1 台のコンピューターにインストールされており、別の Ubuntu サー...

JavaScript プリミティブデータ型シンボルの詳細な説明

目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...

MySQL で重複しない携帯電話番号テーブルをバッチ生成する方法のサンプルコード

序文多くの MySQL テスト シナリオでは、テスト用に一部のテスト データを手動で生成する必要があ...

Ubuntu 16.04 64 ビット版の VMware Tools のインストールと構成のグラフィック チュートリアル

この記事では、VMware Toolsのインストールと構成に関するグラフィックチュートリアルを参考と...

v-html レンダリング コンポーネントの問題

以前 HTML を解析したことがあるので、今日は Vue ドラッグ アンド ドロップを使用して、Ku...

MySQL ルートパスワードエラー番号 1045 の解決方法

MySQLサービスを停止するWindowsでは、マイコンピュータを右クリック--管理--サービスと...

vue-seamless-scrollがスクロールしていいねをするときのデータ同期の問題を解決する

VUE は vue-seamless-scroll を使用して、自動的にスクロールしていいねします。...

Vue+Bootstrapでシンプルな学生管理システムを実現

参考までに、vueとbootstrapを使って比較的シンプルな生徒管理システムを作りました。具体的な...

MySQL ストアド プロシージャの使用例の分析

この記事では、MySQL ストアド プロシージャの使用方法について説明します。ご参考までに、詳細は以...

ネイティブ JavaScript を使用した Web 計算機の実装

この記事では、参考までに、計算機のWebバージョンを実装するためのJavaScriptの具体的なコー...

React 手書きタブ切り替え問題

親ファイル React をインポートし、{useState} を 'react' か...

よく理解しましたかタグ 定義方法 使用方法

序文:今日、「<!DOCTYPE> タグを注意深く理解しましたか?」と尋ねられました。私...

バッテリー残量が少なくなったときに Linux を自動シャットダウンする方法

序文最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているので...

MySQL をインストールするときに初期パスワードを忘れた場合のシンプルで効果的な解決策

MySQL をインストールすると初期パスワードが与えられますが、この初期パスワードは大文字と小文字の...

Vue で 3D タグ クラウドを実装するための詳細なコード

プレビュー: コード:ページセクション: <テンプレート> <div class=...