justify-contentについて
justify-content: centerを使って中央に寄せると最後の行に余った要素があると
中央によってしまう
かといって初期値のflex-startだと全体が左寄せになってしまう
他の方法でも良いが、flexはとても便利なのでflexboxだけで解決する方法を探していくと、
解決法がネットにあった
参考にさせていただいたサイト
Flexbox で全体を中央に配置しつつ最後の行を左揃えにする
解決方法としてはJavaScript (jQuery) を使い空の子要素で埋め、
左まで詰めるという方法
html
1 | <div class="wrap"> |
css
1 | .wrap{ |
js
1 | var $grid = $('.wrap'), |
最後に
並べる数が変わっても、これで必要な空の部分を埋めてくれていて、余った長さの分は表示されていない
計算なしできれいに並べることができたが、cssだけでは不可能なのでjsを使わないのであれば,他の方法でやるほうが良い