CSS Flexbox を使用して、リスト要素の項目を横並びにする方法です。
カスタムデータ属性で、折り返す(左寄せ|中央寄せ|右寄せ)・折り返さないの指定ができるようにしています。
折り返さない場合、ブラウザが対応していれば、スクロール時に項目単位で止まります(スクロールスナップ)。
HTML
補足
- ul 要素に "data-flex-wrap" を追加し、折り返し方法を指定する。
- このサンプルでは li 要素の中にボタンを入れているが、画像やテキストでも良い。
data-flex-wrap | 折り返し方法 |
---|---|
left | 折り返す:左寄せ |
center | 折り返す:中央寄せ |
right | 折り返す:右寄せ |
nowrap | 折り返さない |