flexで要素の順番を入れ替える方法

この記事は約4分で読めます。
広告

CSSでdisplay: flexを使うといい感じに横並びにできていいよね。

でもレスポンシブした時に要素の順番を変えたいなって思うこと多い。そんな時に使えるのが「order」なんだ。

じゃー早速使い方を見てみよう。

.wrapp {
  display: flex;
}

.wrapp .img {
  order: 2;
}

.wrapp .text {
  order: 1;
}

このようにflexの子要素に「order」プロパティを付与して利用します。
この場合は「.text」が先頭にきて、「.img」が2番目にくる感じですね。

次に、flexで順番を入れ替えるdemoの確認をHTMLと合わせて見てみましょう。

デモ

<div class="wrapp">
  <div class="img">
    <img src="https://hajimete.org/wp-content/uploads/2024/03/img.jpg" alt="flexイメージ" />
  </div>
  <div class="text">
    <p>このイメージはテロッとした様子を表している代表的なイメージです。このイメージはテロッとした様子を表している代表的なイメージです。このイメージはテロッとした様子を表している代表的なイメージです。このイメージはテロッとした様子を表している代表的なイメージです。</p>
  </div>
</div>
flexイメージ

このイメージはテロッとした様子を表している代表的なイメージです。このイメージはテロッとした様子を表している代表的なイメージです。このイメージはテロッとした様子を表している代表的なイメージです。このイメージはテロッとした様子を表している代表的なイメージです。

HTML上では画像が先にきていますが、CSSの「order」プロパティを利用することで
テキストを先に表示して後からイメージを出す事ができていますね。

もっと「order」プロパティについて理解するために、もうひとつdemoを見ていきましょう。
次のdemoは、画像を3つ並べて「order」プロパティで順番を入れ替えてみようと思います。

デモ

HTML

<div class="clr-wrapp">
  <div class="red">
    <img src="https://hajimete.org/wp-content/uploads/2024/03/red.png" alt="赤いイメージ" />
  </div>
  <div class="yellow">
    <img src="https://hajimete.org/wp-content/uploads/2024/03/ylw.jpg" alt="黄色いイメージ" />
  </div>
  <div class="green">
    <img src="https://hajimete.org/wp-content/uploads/2024/03/green.jpg" alt="緑のイメージ" />
  </div>
</div>

CSS

.clr-wrapp {
 display:flex;
}
.clr-wrapp .red {
 order: 3;
}
.clr-wrapp .yellow {
 order: 1;
}

このように「order」プロパティを指定して、自分の中では🟨🟩🟥の順番に並べ替えようとしましたが実際はどうでしょう。

赤いイメージ
黄色いイメージ
緑のイメージ

信号機みたいですねw

実際には🟩🟨🟥になってしまいました。
なぜかというと「order」プロパティの初期値はゼロのため「.yellow」に指定した「order」の数字よりも
「order」を指定していない緑が先にきてしまったんですね。

これでflexでの順番を入れ替えるやり方は完璧ですね!

以上でした。

エンデ・バタローをフォローする
CSS

埼玉県北本市に越してきて2年と少しになります。以前は東京都の京王線沿線に、その前は神戸の三宮、さらにその前は名古屋の八事霊園近くに住んでいました。

怖い話が大好きで、ネット怪談、ホラー小説、心霊Youtuber(オウマガドキch、ゾゾゾ)を寝る前のお供にしてます。

フロントエンドエンジニアとして9年目のキャリアを積んでおり、figma、Illustrator、Photoshop、WordPress、HTML、CSS(scss)、JavaScript(jQuery)、PHPなど使って日々仕事をしています。

仕事で検索する手間を省くためフロントエンド技術に関するブログを書いています。

エンデ・バタローをフォローする
広告
初めてのブログ

コメント

タイトルとURLをコピーしました