スマホのハンバーガーメニューでpositionにfixedを入れてスクロールできなくなる問題を解決

2016/12/16 タグ:
  • このエントリーをはてなブックマークに追加

スマホでハンバーガーメニューを実装していたのですが、positionにfixedを入れていると位置が固定されてしまい、スクロールできなくなります。メニューの数が多くなるとスクロールできないため、メニューとして機能しなくなるという問題の解決法について。

SPONSOR

下のようになっているような場合に発生します。

<nav>
<ul>
<li>メニュー</li>
(中略)
</ul>
</nav>
nav {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

こういう場合、navの下のulにoverflowを入れれば解決します。

nav ul{
 height: 100%;
 overflow: auto;
 -webkit-overflow-scrolling: touch;
}

-webkit-overflow-scrolling: touch;を入れておくと慣性スクロールが効くのでスムーズに。

この記事もおすすめ
記事を書いている中の人
入江慎吾
デザインも開発もやっているフリーのエンジニアです。目標はプロダクトだけで生きていくこと。そのために学んだこと、実践したことをブログで発信中。朝5時に起きて午前中だけ働いています。午後からは読書と勉強にあてて自己スキルをのばし、さらに生産性を高めたいと考えてます。(もっと詳しいプロフィール
この記事をシェアする
  • このエントリーをはてなブックマークに追加
メールマガジンで新着記事をフォロー

 

イリテクの最新情報をチェック!
  • follow us in feedly
    RSSで最新記事を読む
イリテクで開発したプロダクト
SPONSOR
こちらの記事もおすすめです