ブラウザでこれ以上スクロールできない場合の挙動を制御する「overscroll-behavior」プロパティ

Macのブラウザでこれ以上スクロールできない場所までスクロールしたのに、そこからさらに先へスクロールしようとすると画面が伸びて指を離すと跳ね返るような挙動になります。
要は「これ以上スクロールできませんよ」とユーザーに知らせるためのインタラクションです。
他にも左右にスワイプしたときにスマホの場合は「戻る」「進む」の挙動になるブラウザがあります。
このようなスマホブラウザ特有のスワイプ関連の機能は、デザインや作成したい機能によってオフにしたい場合があります(ウェブサイトというより、ウェブサービスの実装の場合は特に多いです)。
現状Safariには使えませんが、それ以外のブラウザでは使えるのがoverscroll-behaviorです。
overscroll-behavior
overscroll-behaviorは「auto」「contain」「none」の3種類の値があります。
| 値 | 内容 |
|---|---|
| auto | デフォルト値。ブラウザの挙動に任せる |
| contain | スクロール要素の外にはみ出さないようにする |
| none | スクロール要素の外にはみ出さないようにしつつ、 画面が伸びて指を離すと跳ね返るような挙動もオフになる |
基本はautoかnoneかどっちかで良さそうです。派生プロパティ
overscroll-behavior-xとoverscroll-behavior-yもあり、横方向のみと縦方向のみを制限できます。
左右にスワイプしたときの「戻る」「進む」動作は残しつつ、縦に伸ばしたときのスクロール効果だけ制御したいときに使えます。
対応ブラウザ
残念ながらSafariに対応していないのが現状です。
iPhoneユーザーの多くはSafariを使っていますし、SNSからリンクを開くとSafariで開かれてしまうので、overscroll-behaviorを使用するときは注意が必要です。
ただ、Google ChromeやFirefoxの挙動はオフにできるので、必要な場合は指定しておくと良さそうです。



Visual Studio Codeで簡易的なローカルサーバーを起動して、コード保存時に自動でブラウザをリロードする拡張機能「Live Server」
SourceTreeの外部Diff / MergeツールをKaleidoscopeに設定する
Visual Studio Codeの拡張機能「Trailing Spaces」でコードの中にある余計なスペースを表示する
Vue CLIのプロジェクト管理用のGUI機能から環境を構築する
npm-scriptsでSCSSをコンパイルする環境を構築する方法
Visual Studio Codeのマルチカーソル機能で文字操作を一括で行う
HTMLタグの入力をラクにするスニペット集
gzip圧縮をしてウェブサイトの表示スピードを上げる方法
EJSのincludeで別ファイルを読み込むときの画像パスを指定する方法
全角スペースを可視化してくれるVisual Studio Codeの拡張機能「zenkaku」
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Eagleで実現するクリエイティブ素材の簡単管理
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?