検索
ホームページウェブフロントエンドCSSチュートリアルCSS3 カスタム スクロール バー スタイル: webkit-scrollbar の詳細な説明

ブラウザーに付属の元のスクロール バーが非常に見苦しいと思ったことはありますか? 同時に、多くの Web サイトのカスタム スクロール バーが、Chrome 32.0 開発ボードでさえ放棄されているのを見たことがあるでしょう。元のスクロール バーははるかに美しいです。では、WebKit ブラウザはスクロール バーをどのようにカスタマイズするのでしょうか?

前書き

Webkit は、オーバーフロー属性、リスト ボックス、ドロップダウン メニュー、テキストエリア スクロール バーのカスタム スタイルを備えた領域をサポートしているため、非常に便利です。もちろん、現時点ではすべてのブラウザと互換性のあるスクロール バー スタイルはありません。

デモ

これら 2 つのスクロール バーのデモを見てみましょう:demo1 (画像バージョン)、demo2 (純粋な CSS3 バージョン)

スクロール バーの構成

  • ::-webkit-scrollbarスクロール バー

  • ::-webkit-scrollbar-thumb スクロール バーの小さな四角は上下 (垂直スクロール バーか水平スクロール バーかに応じて左右) に移動できます

  • ::-webkit-scrollbar -track スクロール バー トラック (親指が内側にある)

  • ::-webkit-scrollbar-button スクロール バー トラックの両端にあるボタンを使用すると、小さなボタンの位置を微調整できますクリックすると正方形になります。

  • ::-webkit-scrollbar-track-piece 内側のトラック、スクロール バーの中央部分 (削除されました)

  • ::-webkit-scrollbar-corner コーナー、つまり、 2 つのスクロール バー

  • ::-webkit-resizer 2 つのスクロール バーの交点をドラッグして要素のサイズを調整するために使用される小さなコントロール

簡易バージョン

ここでは詳細なコードは投稿しません。デモでソース コードを表示できます。特定のスタイルの設定を探します。デモ2の2番目のスクロールバーのスタイルを見てみましょう


/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar
{
	width: 16px;
	height: 16px;
	background-color: #F5F5F5;
}

/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	border-radius: 10px;
	background-color: #F5F5F5;
}

/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb
{
	border-radius: 10px;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background-color: #555;
}

詳細設定

スクロールバーを定義するには、擬似要素や擬似クラスを使用することになります。 では、擬似要素や擬似クラスとは何でしょうか。

疑似クラス :link、:focus、:hover についてはよく知っている必要があります。さらに、:nth-child、:last-child、:nth など、多くの疑似クラス セレクター が CSS3 に追加されています。 -last-of-type ()wait。

以前に CSS の疑似要素を見たことがあるでしょう: :first-line:first-letter、:before、:after。その後、CSS3 では擬似要素が調整され、前の要素に「:」が追加され、「::first-letter,::first-line,::before,::after」になりました。さらに、CSS3では「::selection」も追加されています。 2 つの「::」と 1 つの「:」は主に CSS3 で疑似クラスと疑似要素を区別するために使用されます。

Webkit の擬似クラスと擬似要素の実装は非常に強力です。スクロール バーはページ要素として定義でき、グラデーション、角丸、RGBa などの高度な CSS3 属性と組み合わせることができます。いくつかの場所で画像を使用する必要がある場合は、画像を Base64 に変換することもできます。そうしないと、毎回複数の画像を読み込む必要があり、リクエストの数が増加します。

境界線、影、背景画像など、あらゆるオブジェクトを設定できます。作成されたスクロール バーは、オペレーティング システム自体の設定に従ってインタラクティブな動作を完了します。以下の疑似クラスを上記の疑似要素に適用できます。少し複雑な書き方については、最初のデモを参照してください。

りー

以上がCSS3 カスタム スクロール バー スタイル: webkit-scrollbar の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
@keyframesや@mediaなど、 @rulesにはどの程度の特異性がありますか?@keyframesや@mediaなど、 @rulesにはどの程度の特異性がありますか?Apr 18, 2025 am 11:34 AM

先日、この質問がありました。私の最初の考えは、奇妙な質問です!特異性はセレクターに関するものであり、アットレールはセレクターではないので、...無関係ですか?

@mediaと@supportのクエリをネストできますか?@mediaと@supportのクエリをネストできますか?Apr 18, 2025 am 11:32 AM

はい、あなたはできます、そしてそれは本当にどの順序で重要ではありません。 CSSプリプロセッサは必要ありません。通常のCSSで動作します。

クイックガルプキャッシュバストクイックガルプキャッシュバストApr 18, 2025 am 11:23 AM

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

CSSの品質と複雑さを監視するスタックを探してCSSの品質と複雑さを監視するスタックを探してApr 18, 2025 am 11:22 AM

多くの開発者は、CSSコードベースを維持する方法について書いていますが、そのコードベースの品質をどのように測定するかについて多くの人が書いていません。確かに、私たちは持っています

データリストは、値を強制せずに値を提案するためのものですデータリストは、値を強制せずに値を提案するためのものですApr 18, 2025 am 11:08 AM

短い任意のテキストを受け入れるために必要なフォームを持っていたことがありますか?名前などのように。それはまさにそのためのものです。たくさんあります

チューリッヒでのフロント会議チューリッヒでのフロント会議Apr 18, 2025 am 11:03 AM

私は、フロント会議のためにスイスのチューリッヒに向かうことにとても興奮しています(その名前とURLが大好きです!)。私はこれまでスイスに行ったことがないので、興奮しています

CloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますCloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますApr 18, 2025 am 10:58 AM

ソフトウェア開発における私のお気に入りの開発の1つは、サーバーレスの出現です。詳細に行き詰まる傾向がある開発者として

NUXTアプリケーションで動的ルートを作成しますNUXTアプリケーションで動的ルートを作成しますApr 18, 2025 am 10:53 AM

この投稿では、私が構築して展開して展開してネットライフを使用して、着信データの動的ルートを作成する方法を示すeコマースストアのデモを使用します。それはかなりです

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール