スマートフォンなどで使用される横にスクロールさせるナビゲーションメニューをCSSだけで実装する方法を紹介します。
横スクロールナビゲーションの作り方
ナビゲーションメニューを横にスクロールさせるためにはCSSに以下のような設定を記述することで実現できます。
ul {
white-space: nowrap;
overflow-x: auto;
}
ポイントとしては、「white-space: nowrap;」を使って途中で折り返しをさせないことと、「overflow-x: auto;」で横にスクロールできるようにすることです。
あとは、アイテムを横に並ぶように指定をするだけです。
li {
display: table-cell;
}
例では、「table-cell」を使って横に並べていますが、他にも「inline-block」などを使っても良いでしょう。
滑らかにスクロールさせたい(iOS用)
iOS向けにスムーズにスクロール(慣性スクロール)させたい場合には、親要素に「-webkit-overflow-scrolling:touch;」を追加します。
ul {
white-space: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
以上が、スマホで使用されるナビゲーションメニューをCSSだけで横にスクロールさせる方法となります。