overscroll-behavior-x
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年9月.
overscroll-behavior-x は CSS のプロパティで、スクロール領域の水平方向の境界に達したときのブラウザーの挙動を設定します。
全体的な説明は overscroll-behavior を参照してください。
構文
css
/* キーワード値 */ overscroll-behavior-x: auto; /* 既定値 */ overscroll-behavior-x: contain; overscroll-behavior-x: none; /* グローバル値 */ overscroll-behavior-x: inherit; overscroll-behavior-x: initial; overscroll-behavior-x: revert; overscroll-behavior-x: revert-layer; overscroll-behavior-x: unset; overscroll-behavior-x プロパティは、次の値の一覧から選択した一つのキーワードで指定します。
値
公式定義
| 初期値 | auto |
|---|---|
| 適用対象 | 非置換ブロックレベル要素と非置換インラインブロック要素 |
| 継承 | なし |
| 計算値 | 指定通り |
| アニメーションの種類 | 離散値 |
形式文法
overscroll-behavior-x =
contain |
none |
auto
例
>背後にある要素が横にスクロールするのを防ぐ
overscroll-behavior-x の例(ソースコードも参照)の中で、一方がもう一方の中にある 2 つのブロックレベルボックスがあります。外側のボックスは広い width を持っているので、ページは水平にスクロールします。内側のボックスは width (と height) が小さく、ビューポート内にきちんと収まりますが、コンテンツは広い width を持つため、水平にスクロールします。
既定では、内側のボックスがスクロールして境界に達すると、ページ全体がスクロールし始めますが、これはおそらく望ましくない動きです。内側のボックスに overscroll-behavior-x: contain を設定することで、これを防ぐことができます。
css
main > div { height: 300px; width: 500px; overflow: auto; position: relative; top: 100px; left: 100px; overscroll-behavior-x: contain; } 仕様書
| Specification |
|---|
| CSS Overscroll Behavior Module Level 1> # overscroll-behavior-longhands-physical> |