html
※Web開発,  Bootstrap,  WordPress

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

【CSS】flexboxの要素を任意の位置で改行する方法 | でざなり (dezanari.com)

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

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

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

目次

  1. 通常のflexboxでの改行
  2. flexboxの要素を任意の位置で改行する方法
  3. まとめ

通常のflexboxでの改行

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

https://codepen.io/wagashi000327/embed/jOVLmQE?height=350&theme-id=dark&default-tab=result&user=wagashi000327&slug-hash=jOVLmQE&pen-title=jOVLmQE&name=cp_embed_1

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

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

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

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

https://codepen.io/wagashi000327/embed/Vwmzbgd?height=350&theme-id=dark&default-tab=result&user=wagashi000327&slug-hash=Vwmzbgd&pen-title=Vwmzbgd&name=cp_embed_2

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

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

まとめ

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

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

【CSS】flexboxの要素を任意の位置で改行する方法 はコメントを受け付けていません