CSSのフレックスボックスのflexプロパティを完全ガイド!初心者でもわかるショートハンド指定方法
生徒
「CSSのフレックスボックスで、flexっていうプロパティを見たんですが、どう使うんですか?」
先生
「flexは、フレックスボックスのアイテムの大きさを決める大事な設定で、ショートハンドという短い書き方もありますよ。」
生徒
「ショートハンドってなんですか?初心者でも使えますか?」
先生
「もちろん使えますよ。難しく見えても、一つずつ理解すればとても便利です。一緒にゆっくり見ていきましょう。」
1. フレックスボックスで使うflexプロパティとは?
CSSのフレックスボックスは、要素を横並びや縦並びに整列させるレイアウト方法です。その中でも、アイテムの伸び縮みを決めるのがflexプロパティです。フレックスボックスを使うことで、画面の幅が変わってもバランス良く並ぶデザインが簡単につくれます。
2. flexの三つの値「flex-grow」「flex-shrink」「flex-basis」
flexプロパティは、本来三つの値を組み合わせたものです。初めて聞くとわかりにくいので、例えを使って説明します。三つの値は次の通りです。
- flex-grow:余ったスペースをどれだけ“もらうか”を決めるルール
- flex-shrink:スペースが足りないときにどれだけ“縮むか”のルール
- flex-basis:アイテムの基本の大きさ(pxや%で指定)
たとえば、机の上に物を置くときに「広い机だから少し広く置こう」と考えることがありますよね。その感覚に近く、フレックスボックスではアイテムがスペースに応じて伸び縮みします。
3. ショートハンド指定「flex: 1 0 auto」の意味を理解しよう
flexプロパティは、「flex-grow」「flex-shrink」「flex-basis」の三つをまとめて書くことができます。これをショートハンドと呼びます。有名な書き方が次のものです。
<div class="item" style="flex: 1 0 auto;">サンプル</div>
ブラウザ表示
この「flex: 1 0 auto」は、次のような意味になります。
- 1:余ったスペースを1の割合で広がる
- 0:縮む必要があるときは縮まない
- auto:基本のサイズを自動に任せる
つまり、必要があれば広がるけど、基本のサイズは「内容に合わせて」決まる、そんな柔軟な設定です。
4. 初心者にも理解しやすいflex値の実例を見てみよう
ここでは、フレックスボックスの親要素を作り、その中に子要素を並べた例を紹介します。同じ幅ではなく、flexの値によって伸び方が変わることを確認できます。
<style>
.container {
display: flex;
gap: 10px;
}
.box1 {
flex: 1 0 auto;
background: #b4d6ff;
padding: 10px;
}
.box2 {
flex: 2 1 100px;
background: #ffd4b4;
padding: 10px;
}
.box3 {
flex: 0 1 150px;
background: #d4ffb4;
padding: 10px;
}
</style>
<div class="container">
<div class="box1">flex:1 0 auto</div>
<div class="box2">flex:2 1 100px</div>
<div class="box3">flex:0 1 150px</div>
</div>
ブラウザ表示
このように、flexプロパティを使うことで、三つのボックスが違った伸び方や縮み方をします。画面の幅が変わるとバランスも変わるので、レイアウトの幅がグッと広がります。
5. よく使われるflexの便利な書き方も覚えておこう
ショートハンドは他にもよく使われる形があります。特に、以下の二つはよく見るので覚えておくと便利です。
- flex: 1; … 「flex: 1 1 0」の省略。均等に伸び縮みするレイアウトに便利。
- flex: none; … 「flex: 0 0 auto」。伸びも縮みもしない固定サイズのアイテムを作れる。
どちらも特別なレイアウトを組むときに役立ちます。実務でもよく使われるので、覚えておくと将来のCSS学習にも役立ちます。
【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー
「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。
本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」と「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。
具体的なワークショップ内容と環境
【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。
【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。
この60分で得られる3つの技術資産
要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。
後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。
画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。
※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。
リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら