CSS

2020.12.02

【CSS】スマホのパンくずをCSSだけで改行させずに横スクロールさせる方法

ユーザーが今どのページを見ているのかわかりやすくするためにパンくずリストを設置しているサイトが多いですが、階層が多くなるとどうしても長くなってしまいます。

そこで、今回はCSSだけで簡単にスマホのパンくずを改行させずに横スクロールで表示する方法をご紹介します。

やることは…親要素にoverflowをかけるだけ

パンくずリストの親要素に対して、横方向にoverflow-xscrollautoを指定します。
また、テキストが改行されないようにword-break: keep-allwhite-space: nowrap;もかけます。

下記ではレスポンシブを意識して横幅768pxからスクロールの指定をかけました。codepenの幅が狭いのでスクロールされているかと思います。

See the Pen yLMzNeE by spiqa design (@spiqa_design) on CodePen.

スクロールバーを非表示にする方法

パンくずリストはスクロールで設置したいけれど、デザイン上そのままスクロールバーが出てしまうのはいまいち…という時には::-webkit-scrollbarを書くことでスクロールバーをカスタマイズすることができます。
次の例では、先ほどの例に下記内容を追記して非表示にしてみました。

  • スクロールバーをカスタマイズするためにパンくずの親要素に対して::-webkit-scrollbarを指定
  • 今回は非表示にしたいため、display:noneを指定

See the Pen ZEeXGOq by spiqa design (@spiqa_design) on CodePen.

スマホでスクロールする時、気をつけたいこと

以前までのiOSではスクロールがカクカクしてしまっていたため、スクロールを滑らかにするために-webkit-overflow-scrolling: touch;を入れていました。
しかし、このプロパティをつけてしまうと要素の範囲外に表示ができなくなってしまうなど、多くのバグが報告されています。
Androidは元々スクロールに問題はなく、最近のiOSでもデフォルトで滑らかにスクロールできるように変更されたため、このスタイルは不要になりました。
バグが起こってしまうのを防ぐためにも、これからは-webkit-overflow-scrollingを書かないことをおすすめします!

参考サイト:https://developer.apple.com/documentation/safari-release-notes/safari-13-release-notes

まとめ

特にブログやコラムなどは記事のタイトルが長くなることが予想されるので、そういったコンテンツを含むサイトには横スクロールを効かせたほうがいいです。ぜひご活用ください!

overflowについての関連記事はこちら

+1

関連記事

  • 2021.07.20

    画面遷移時にページ全体をフェードさせる方法

    CSS

    JavaScript

  • 2021.07.14

    CSSだけで固定背景(パララックスデザイン)を実装する方法【iOS対応方法も紹介】

    CSS

  • 2021.07.13

    (簡単)inputをクリックしたときの枠線の色を変える

    CSS

おすすめ記事

  • 2021.06.30

    【おすすめ書籍】Sassを始めてみるならこの1冊

    CSS

  • 2021.06.08

    CSSだけでできる!マーカーで線が引かれているようなデザインの作り方

    CSS

    WordPress

  • 2021.05.24

    【おすすめ書籍】動くデザインを作る時にまず読んでほしい本

    JavaScript

株式会社スピカデザイン

渋谷のWEB制作会社「スピカデザイン」の現役コーダー達が、WEB制作のヒントになるような情報をお届けします。

https://spiqa.design/

spiqa_design

質問・感想などはこちら!

REQUEST

ご意見、感想や記事のリクエストなど
メッセージお待ちしております!