【CSS】flexboxの要素を任意の位置で改行する方法

【CSS】flexboxの要素を任意の位置で改行する方法CSS

flexboxの中の要素はflex-wrap: wrap;で改行できますが、これって要素がいっぱいあってこれ以上入らない場合に改行するプロパティなんですよね。

ただ、今回はflexbox内にまだスペースはあるけど特定の位置で改行したいということがあったので、これのやり方を解説します。

 

スポンサーリンク

通常のflexboxでの改行

通常ならdisplay: flex;flex-wrap: wrap;を同時に指定すれば、これ以上横幅がない場合に勝手に改行してくれます。

 

See the Pen
jOVLmQE
by wagashi000327 (@wagashi000327)
on CodePen.

こんな感じでflexbox内に5番目の要素が入るほどのスペースはないので自動で改行されます。

しかし、今回やりたいのは2番目や3番目など、まだflexbox内にスペースはあるけど特定の狙った位置で改行するというものです。

 

flexboxの要素を任意の位置で改行する方法

flexbox内の要素を狙った位置で改行するのはこんな感じにやります。

 

See the Pen
Vwmzbgd
by wagashi000327 (@wagashi000327)
on CodePen.

改行したい位置に空のブロック要素を入れてwidth: 100%;を指定します。

残ったスペースはこの空の要素が占有するので、次の要素が改行されるわけですね。

 

まとめ

flexboxはかなり便利なので使う機会が多いと思います。

ちょっと工夫すればこういう微妙な部分にも手が届くので、知っておくと地味に便利だったりしますね。

ZennでCSS設計の
本を書きました!

「CSS設計をちょっと勉強したけど
結局よくわからなかった…」
そんな人に読んでほしい一冊です!

読んでみる
スポンサーリンク
CSS
スポンサーリンク
でざなり