【CSS】flexで左右交互に配置する方法

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

コンテンツを「flex」で配置する時、画像とテキストを互い違いに配置したいけど

どうしたらいいのかわからない時に見て欲しいです。

文字じゃわかりずらいかもなので、画像で作ってみました。

イメージ

こんな感じの配置よくするよね。

そんな時はCSSでこの様に書こう!

flexで左右交互に配置する方法

.demo li {
  display: flex;
  justify-content: space-between;
}
.demo li:nth-child(odd) {
  flex-direction: row-reverse;
}
デモ
  • こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。

  • こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。

  • こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。



画像の通りにCSSができました☆

今回デモで利用したHTMLとCSSを下に書きますのでよかったら使ってくださいね!

HTML
<ul class="demo">
  <li>
    <img src="https://hajimete.org/wp-content/uploads/2023/09/flex-img1.jpg" />
    <p>こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。</p></li>
  <li>
    <img src="https://hajimete.org/wp-content/uploads/2023/09/flex-img2.jpg" />
    <p>こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。</p>
  </li>
  <li>
    <img src="https://hajimete.org/wp-content/uploads/2023/09/flex-img3.jpg" />
    <p>こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。こっちにテキストが入ります。</p>
  </li>
</ul>
CSS
.demo {
  margin: 0 auto;
  padding: 7% 0;
  width: 80%;
  background: #f1f4f9;
}
.demo li {
  display: flex;
  justify-content: space-between;
  margin: 0 0 7%;
}
.demo li:nth-child(odd) {
  flex-direction: row-reverse;
}
.demo li:last-child {
  margin-bottom: 0;
}
.demo li img {
  width: 54%;
}
.demo li p {
  width: 41%;
  font-size: 15px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 2px;
  padding: 3% 4% 0 0;
}
.demo li:nth-child(odd) p {
  padding: 3% 0 0 4%;
}

コメント

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