CSS iOSでもスムーズなスクロール(慣性スクロール)を実現する

2018年6月26日

最近は「残業しない!」をモットーに仕事をしています。
みなさんこんにちは。

overflowを設定した要素をiphoneでスクロールしてみたら
手を離した瞬間に止まった!?
そんな時は「-webkit-overflow-scrolling」

iPhone(iOS)で慣性スクロールを有効にする

CSS

  1. -webkit-overflow-scrolling: touch;

これだけ!
プロパティの値は「touch」
これでiPhone(iOS)で慣性スクロールが有効になります。

初期値は「auto」なので、
iPhone(iOS)での慣性スクロールは無効となっています。

慣性スクロールを試してみる

ということで実際に指定して比べてみます。

CSS

  1. .foo {
  2. width: 200px;
  3. height: 200px;
  4. padding: 50px 0;
  5. overflow: auto;
  6. }
  7. .scroll {
  8. -webkit-overflow-scrolling: touch;
  9. }
  • auto(未指定)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • touch
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

はい、気持ちよく慣性が効いてますね。

iPhone(iOS)の慣性スクロールまとめ

iPhone(iOS) Safariではよく他のブラウザと違う挙動になることがあります。
今回の慣性スクロールもそういったブラウザ間の違いです
しかし、一度経験しておけば次に制作する際には
スムーズに作れるようになっているはず!
どんなトラブルも越えていけるように頑張っていきましょう〜