ブラウザでこれ以上スクロールできない場合の挙動を制御する「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の挙動はオフにできるので、必要な場合は指定しておくと良さそうです。



「とりあえず無料版!」ではなく、機能を知った上で判断したいMAMPとMAMP PROの比較
Vue CLIのtitleタグやmetaタグの設定方法
WordPressのカスタム投稿タイプを追加後、ページは存在しているはずなのに404になる場合の解決方法
WordPressで既に公開済みの記事の更新を、指定した日付に反映する方法「PublishPress Revisions」
Visual Studio Codeを使ったコード整形方法(Fomatter)
CSSで1行で簡単にスムーススクロールを実装できる「scroll-behavior」プロパティ
サイトを運営する時必ず登録しておきたいGoogle Search Console(サーチコンソール)の登録方法
Macで.pemを使ってAmazon EC2インスタンスへSSH接続する方法
コーディング時にちゃんと意識したい複数語の連結方法一覧(キャメルケース・スネークケース・ケバブケース)
iTerm2で起動時に左上に表示される「Tip of the Day(今日のTip)」を非表示にする方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Path Finderのデフォルト解凍アプリを変更する方法
ATOKで選択した単語の意味を素早く調べられる「ATOKイミクル」の使い方
Path Finder 8から大幅に強化されたモジュール機能の設定方法
CSS Nite in KOBE, Vol.37 Adobe Creative Cloud 使い倒しテクニック集中講座に参加してきました
ATOKの句読点変換を無効にしているのに、変換されてしまう場合は「変換方法」を確認!
Figmaで細かいアニメーションを作成できるプラグイン「Motion」
SafariでFacebookのPage Pluginに「リクエストを処理できませんでした」とダイアログが表示される問題
Macのちょっとした設定をメニューバーから変更できる「One Switch」
Macでデュアルディスプレイ時に、通知を表示するディスプレイを指定する方法
MacでYouTubeの動画再生速度を4倍速にする方法