ブラウザでこれ以上スクロールできない場合の挙動を制御する「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でファイル差分の比較を行う方法
HTMLのpattern属性を使ってフォームのバリデーションチェックを行う方法
Facebookでシェアした記事の画像反映ができていない時の修正方法
全角スペースを可視化してくれるVisual Studio Codeの拡張機能「zenkaku」
CSSやJavaScriptでスクロールバーの横幅を取得する方法
Post Snippetsを使ってWordPressでショートコードをの登録と管理をもっと楽に!!
CSSのz-indexの確認や管理を便利にする方法
Local by Flywheelの「Starting Local Machine…」画面から進まないときに試すこと
Visual Studio CodeでToDoコメントを一覧で表示する拡張機能「Todo Tree」
URLを変更するときに必要なリダイレクトに関する基礎知識
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
高機能なランチャーアプリ「Alfred 4」がリリース!ダークモード対応やWorkflowが強化
Keyboard MaestroのTime of Dayトリガーは「Wireless Network Condition」での条件分岐とセットで使う!
ウインドウリサイズ系のアプリMagnet・ShiftIt・BetterTouchToolの比較
Orbital 2と修飾キーの同時押しで、別のショートカットキーを発火させる方法
TwitterとFacebook用のOGP設定方法と表示確認方法
コードスニペットの管理方法や命名規則について
iOSアプリ版の1Passwordで「パスワード自動補完」機能を利用するための設定
Alfred 4のスニペットで使えるリッチテキスト機能の使い方
Path Finder 9.0.4からツールバーにカスタムファイルを追加できるように!ツールバーがさらに便利になる
Figma × Keyboard Maestroでどこまで効率化できる?