scrollbar-width

scrollbar-width プロパティは、要素のスクロールバーが表示される時の最大の太さを設定することができます。

試してみましょう

構文

css
/* キーワード値 */
scrollbar-width: auto;
scrollbar-width: thin;
scrollbar-width: none;

/* グローバル値 */
scrollbar-width: inherit;
scrollbar-width: initial;
scrollbar-width: revert;
scrollbar-width: unset;

<scrollbar-width>

スクロールバーの幅を、長さまたはキーワードのどちらかで定義します。キーワードが使用する場合は、以下の値のうちの一つでなければなりません。

auto プラットフォーム既定のスクロールバーの幅です。
thin プラットフォームが提供している細いスクロールバー、またはプラットフォーム既定のスクロールバーの幅よりも細いスクロールバーです。
none スクロールバーが表示されませんが、要素はスクロール可能です。

メモ: ユーザーエージェントは、ビューポートのルート要素に何らかの scrollbar-width の値を設定する必要があります。

アクセシビリティの考慮

このプロパティは注意して使用してください。 — scrollbar-widththin または none に設定すると、作者が別なスクロールの仕組みを提供していない限り、スクロールすることが困難または不可能になります。そのようなコンテンツはスワイプのジェスチャーやマウスホイールでスクロールできるものの、端末によっては代替スクロール手段がないことがあります。

WCAG 基準 2.1.1 (キーボード) は、長らく基本的なキーボードのアクセシビリティを勧告してきており、これはコンテンツ領域のスクロールも含みます。また、 WCAG 2.1 で導入された基準 2.5.5 (対象の寸法) では、タッチ対象の幅と高さを 44px 以上にすることを推奨しています (ただし、この問題は高解像度の画面ではさらに複雑になるため、十分なテストが必要です)。

公式定義

初期値auto
適用対象スクロールするボックス
継承なし
計算値指定通り
アニメーションの種類計算値の型による

形式文法

scrollbar-width = 
auto |
thin |
none

あふれた際のスクロールバーの大きさを調整

CSS

css
.scroller {
  width: 300px;
  height: 100px;
  overflow-y: scroll;
  scrollbar-width: thin;
}

HTML

html
<div class="scroller">
  Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh onion
  daikon amaranth tatsoi tomatillo melon azuki bean garlic. Gumbo beet greens
  corn soko endive gumbo gourd. Parsley shallot courgette tatsoi pea sprouts
  fava bean collard greens dandelion okra wakame tomato. Dandelion cucumber
  earthnut pea peanut soko zucchini.
</div>

結果

仕様書

Specification
CSS Scrollbars Styling Module Level 1
# scrollbar-width

ブラウザーの互換性

BCD tables only load in the browser

関連情報