2020年10月30日金曜日

リスト要素の項目を横並びにする

CSS Flexbox を使用して、リスト要素の項目を横並びにする方法です。

カスタムデータ属性で、折り返す(左寄せ|中央寄せ|右寄せ)・折り返さないの指定ができるようにしています。

折り返さない場合、ブラウザが対応していれば、スクロール時に項目単位で止まります(スクロールスナップ)。

デモページを表示

CSS

補足
  • 個別定義として、li 要素の幅を指定する(指定が無い時は3列表示)。
  • レイアウトが崩れる場合は リセットCSS・共通CSS の内容を確認。

HTML

補足
  • ul 要素に "data-flex-wrap" を追加し、折り返し方法を指定する。
  • このサンプルでは li 要素の中にボタンを入れているが、画像やテキストでも良い。
data-flex-wrap折り返し方法
left折り返す:左寄せ
center折り返す:中央寄せ
right折り返す:右寄せ
nowrap折り返さない