ホームページ >ウェブフロントエンド >フロントエンドQ&A >CSSはスクロールバーのスタイルを設定します

CSSはスクロールバーのスタイルを設定します

WBOY
WBOYオリジナル
2023-05-21 10:01:0626740ブラウズ

CSS (Cascading Style Sheets) は、フロントエンド開発で最も頻繁に使用されるテクノロジの 1 つであり、豊かなページの視覚効果を実現できます。その中で、カスタム スクロール バー スタイルも共通の要件です。この記事では、CSSを使用してスクロールバーのスタイルを設定する方法を紹介します。

1. 基本的なスクロール バー スタイル

CSS は、いくつかの基本的なスクロール バー スタイル設定を提供します。スタイル シートのスクロール バーに次の属性を追加できます:

/* 垂直滚动条样式 */
/* 宽度 */
::-webkit-scrollbar {
    width: 12px;
}
/* 背景色 */
::-webkit-scrollbar-track {
    background-color: #f5f5f5;
}
/* 滑块颜色 */
::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
}

/* 水平滚动条样式 */
/* 高度 */
::-webkit-scrollbar {
    height: 12px;
}
/* 背景色 */
::-webkit-scrollbar-track {
    background-color: #f5f5f5;
}
/* 滑块颜色 */
::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
}
  • ::-webkit-scrollbar: スクロール バーの幅 (または高さ) を設定します。垂直スクロール バーの場合は width 属性が機能し、水平スクロール バーの場合は height 属性が機能します。
  • ::-webkit-scrollbar-track: スクロール バーの背景色を設定します。
  • ::-webkit-scrollbar-thumb: スクロール バー スライダーの色を設定します。

上記のコードを使用すると、スクロール バーにシンプルな灰色のスタイルを追加できます。ただし、このスタイルは、ページ スタイルにうまく統合できるほど目立たない可能性があります。さらにパーソナライズされたスクロール バー スタイル設定を以下にいくつか紹介します。

2. スライダーと背景色のカスタマイズ

スクロール バーのスライダーと背景色をカスタマイズするには、background 属性を使用してこれら 2 つの部分をカスタマイズします。たとえば、グラデーション効果を使用して、スライダーの色をある色値から別の色値にレンダリングできます。

/* 垂直滚动条样式 */
/* 宽度 */
::-webkit-scrollbar {
    width: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to bottom, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #a1a1a1, #6b6b6b);
}

/* 水平滚动条样式 */
/* 高度 */
::-webkit-scrollbar {
    height: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to right, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to right, #a1a1a1, #6b6b6b);
}

ここではCSSの線形グラデーションを使用しています。スライダーと背景色のグラデーション効果により、スクロール バーのスタイルを柔らかくすることができます。

3. スクロール バーを非表示にする

特定の状況では、スクロール バーを非表示にする必要がある場合があります。現時点では、2 つのプロパティ scrollbar-widthscrollbar-height を使用して、スクロール バーの幅または高さを 0 に設定できます。ただし、この方法ではスクロール バーをある程度までしか非表示にできません。これは、マウスを移動するとスクロール バーが自動的に表示され、マウスの移動に応じて位置が変更されるためです。

body {
    scrollbar-width: none; /* 隐藏垂直滚动条 */
    -ms-overflow-style: none; /* 隐藏IE/Edge浏览器的垂直滚动条 */
}

/* 设置最外层容器的高度 */
.scroll-container {
    height: 500px;
    overflow-y: scroll; /* 自动出现滚动条 */
}

上記のコードでは、scrollbar-width を none に設定して、垂直スクロール バーを非表示にします。同時に、スクロール バーを自動的に表示するために、overflow-y プロパティをスクロールに設定します。これにより、ページがコンテナからオーバーフローしたときにスクロール バーが自動的に表示されます。

IE および Edge ブラウザのスクロール バーのスタイル設定では -ms-overflow-style 属性を使用する必要があるため、より注意してください。

4. スクロール バーの丸い角と影の効果をカスタマイズする

最後に、丸い角や影など、より鮮やかな視覚効果をスクロール バーに追加できます。 CSS の border-radius プロパティを使用して角の丸みを制御し、box-shadow プロパティを使用して影効果を追加できます。

/* 垂直滚动条样式 */
/* 宽度 */
::-webkit-scrollbar {
    width: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to bottom, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #a1a1a1, #6b6b6b);
    border-radius: 5px; /* 圆角 */
    box-shadow: inset 0 0 6px rgba(0,0,0,.3); /* 阴影 */
}

/* 水平滚动条样式 */
/* 高度 */
::-webkit-scrollbar {
    height: 12px;
}
/* 背景 */
::-webkit-scrollbar-track {
    background: linear-gradient(to right, #f5f5f5, #e8e8e8);
}
/* 滑块 */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to right, #a1a1a1, #6b6b6b);
    border-radius: 5px; /* 圆角 */
    box-shadow: inset 0 0 6px rgba(0,0,0,.3); /* 阴影 */
}

上記のコードでは、スクロール バーをより立体的に見せるために、スクロール バーのスライダーに丸い角と影の効果を追加しています。

つまり、CSS の関連プロパティを通じてスクロール バーのスタイルを簡単にカスタマイズできるため、ページがよりパーソナライズされ、ユーザー エクスペリエンスが向上します。上記のコードは参照のみを目的としており、読者は自分のニーズに応じて、より柔軟なスクロール バー スタイルをデザインできます。

以上がCSSはスクロールバーのスタイルを設定しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。