CSSのflexで内容に合わせて高さを変える方法【初心者向け】
初心者向けにCSSのflexで内容に合わせて高さを変える方法について解説しています。flexboxはCSS3から追加されたレイアウトモジュールで段組やレイアウトに特化しています。今回は要素内の内容量に応じて高さを変更するようにしてみます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
CSSのflexで内容に合わせて高さを変える方法について解説します。flexboxではデフォルトで高さが揃った状態で表示されますが、内容に応じて表示するようにしてみます。
そもそもCSSについてよく分からないという方は、CSSの書き方について解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプWebデザイン講座のCSSカリキュラムをもとに執筆しています。
今回は、CSSに関する内容だね!
どういう内容でしょうか?
CSSのflexで内容に合わせて高さを変える方法について詳しく説明していくね!
お願いします!
flexで内容に合わせて高さを変える方法
flexboxのデフォルトの特性として、列ごとに高さを揃えてくれるというものがあります。
ちょっと大げさに表現すると、こんな感じです。
これを、揃えないようにするプロパティがあります。
それは、align-items: baseline;
適用する箇所は、display: flex;を指定している親要素になります。
実際に書いてみよう
HTML
<div class="container"> <div class="box"><p>コンテンツ</p></div> <div class="box"><p>コンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツコンテンツ</p></div> <div class="box"><p>コンテンツ</p></div> <div class="box"><p>コンテンツ</p></div> <div class="box"><p>コンテンツ</p></div> </div>
CSS
.container{ display: flex; background: #ccc; flex-wrap: wrap; align-items: baseline; } .box{ width: 200px; margin: 10px; background-color: #66b6d5; }
複数行になった時は、こんな感じになるので、可変グリットで詰めて表示!みたいなのはできないようですね。
CSS Gridというものもありますので、調べてみてくださいね。
この記事を監修してくれた方
和田 祥子(わださちこ) テニスと音楽とビールが好きです。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもオリジナルWebサイトを公開できるオンラインブートキャンプWebデザイン講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。