INDEX
目次
HTML/CSS入門編 10章:Flexboxを学ぼう
この章の目安学習時間:240分
本章では、現在主流のCSSレイアウトの手法であるFlexboxを学びます。
横並び、縦並び、中央揃えなどの基本のレイアウトから、要素の細かなサイズや位置の調整までを柔軟に設定することができる大変便利な手法です。
Webページの要素を思い通りにレイアウトするために必須の重要テクニックですので、しっかりと学んでいきましょう。
横並び、縦並び、中央揃えなどの基本のレイアウトから、要素の細かなサイズや位置の調整までを柔軟に設定することができる大変便利な手法です。
Webページの要素を思い通りにレイアウトするために必須の重要テクニックですので、しっかりと学んでいきましょう。
【10-1】Flexboxの基本を学ぼう
目安の学習時間:25分
ここからの演習では、「flexbox-lesson」フォルダ内のファイルを使用します。
演習の準備
1. 「start」フォルダ内のflexbox-lesson.htmlとcssフォルダ内のstyle.cssをエディターで開きます。
2. ブラウザプレビューをします。
2. ブラウザプレビューをします。
flexbox-lesson.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Flexboxを学ぼう</title>
<link rel="stylesheet" href="css/reset.css" />
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<h1 class="heading">Flexboxを学ぼう</h1>
<div class="flex-container">
<p class="flex-item">flexitem1</p>
<p class="flex-item">flexitem2</p>
<p class="flex-item">flexitem3</p>
<p class="flex-item">flexitem4</p>
<p class="flex-item">flexitem5</p>
</div>
</body>
</html>HTML/CSS入門編 サンプルコード10-1
※reset.css(ミニマム&シンプルリセット)を関連付けしてあります。
css/style.css
@charset "UTF-8";
.heading {
width: 800px;
margin: 20px auto;
}
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-2
※h1、div、p要素に最低限の視認性を確保するためのCSSを適用してあります。
サンプルファイルの説明
- サンプルファイル flexbox-lesson.htmlとstyle.cssは、Flexbox(フレックスボックス)によるレイアウト方法を学習するための教材ファイルです。
- div要素に含まれる複数のp要素に対して、さまざまなプロパティを使い、柔軟にレイアウトの調整を行う練習をしながら、Flexboxの実践的な利用方法を学びます。
- 各要素の視認性を上げるために、div要素には幅(800px)、背景色(水色)、ボーダー(黒)を、p要素には幅(120px)、背景色(赤)、文字色(白)をあらかじめ適用してあります。
divタグとは?
- HTMLサンプルコード10-1で使われているdivタグでマークアップされたdiv要素は、汎用のブロックボックスで、情報としての意味は持ちませんが、特定の要素をグループ化して、レイアウトや装飾を適用するために使われます。
- 今後、よく使用するタグですので覚えておいてください。
divタグ
<div>グループ化する要素</div>
HTMLサンプルコード
ブラウザプレビュー
Flexboxのしくみを学ぼう
Flexbox(正式名称:フレキシブルレイアウトボックス)は、現在主流のCSSのレイアウトシステムです。
Flexboxでは、「フレックスコンテナ」と呼ばれる親要素の中に 「フレックスアイテム」と呼ばれる子要素を並べていく、という概念を使いレイアウトを行います。
もっともシンプルな使い方は、ある要素(親要素)に「display:flex;」を指定すると、その直下の子要素がフレックスアイテム化され、横一列に並ぶというものです。
Flexboxでは、「フレックスコンテナ」と呼ばれる親要素の中に 「フレックスアイテム」と呼ばれる子要素を並べていく、という概念を使いレイアウトを行います。
もっともシンプルな使い方は、ある要素(親要素)に「display:flex;」を指定すると、その直下の子要素がフレックスアイテム化され、横一列に並ぶというものです。
flexboxの基本ルール
- 親要素(コンテナ)にdisplay: flex;を指定する
- flexboxが有効化され、子要素は自動的に「横並び」になる
- 子要素の配置やサイズは関連のプロパティで調整できる
【図解】Flexboxの基本構造
【図解】Flexboxを有効化する
さらに、フレックスアイテム化された子要素は、関連のプロパティを使用することにより、以下のように細かな配置やサイズの指定を行うことができます。
Flexboxでできる子要素の配置の指定
- 縦並び・横並びの変更
- 水平方向の揃え(均等・中央・右・左)
- 垂直方向の揃え(均等・中央・上・下)
- 折り返しの指定
- 子要素同士の間隔の指定
- 並び順の指定
- 伸縮の指定
【図解】例1. 均等配置
【図解】例2. 折り返し
【10-2】親要素に指定するプロパティを覚えよう
目安の学習時間:60分
Flexboxのプロパティは、親要素(flexコンテナ)に指定するプロパティと、子要素(flexアイテム)に指定するプロパティに分かれます。
まずは、親要素(flexコンテナ)に指定するプロパティを解説します。
Webページのレイアウトによく使うものばかりですので、ひとつひとつのコードを自分で入力し、ブラウザプレビューを行い、使用方法をしっかりと身につけていきましょう。
まずは、親要素(flexコンテナ)に指定するプロパティを解説します。
Webページのレイアウトによく使うものばかりですので、ひとつひとつのコードを自分で入力し、ブラウザプレビューを行い、使用方法をしっかりと身につけていきましょう。
子要素を横並びにしよう(display:flex;)
まずは、基本の使い方であるflexboxを有効化する方法を覚えましょう。
flexboxを有効化するためには、親要素に対してdisplay:flex;を指定します。
初期設定では、子要素が横一列に並びます。
flexboxを有効化するためには、親要素に対してdisplay:flex;を指定します。
初期設定では、子要素が横一列に並びます。
【図解】Flexboxを有効化して子要素を横並びにする
<div class="flex-container"> <p class="flex-item">flexitem1</p> <p class="flex-item">flexitem2</p> <p class="flex-item">flexitem3</p> <p class="flex-item">flexitem4</p> <p class="flex-item">flexitem5</p> </div>
HTML/CSS入門編 サンプルコード10-3
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-4
ブラウザプレビュー
子要素の並ぶ向きの変更をしよう(flex-direction)
display:flex;で横並びにした子要素は、flex-directionプロパティで縦方向に並ぶ向きを変更することができます。
それだけでなく、縦並び・横並び共に逆順の指定も可能です。
それだけでなく、縦並び・横並び共に逆順の指定も可能です。
flex-directionプロパティの値
1. row(初期値 横並び)
row-reverse(横逆順)
column(縦並び)
column-reverse(縦逆順)
記述例 子要素を横逆順に並べる
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
flex-direction: row-reverse;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-5
ブラウザプレビュー(row-reverse(横逆順))
ブラウザプレビュー(column(縦並び))
ブラウザプレビュー(column-reverse(縦逆順))
水平方向の揃えを指定しよう(justify-content)
display:flex;で横並びにした子要素は、justify-contentプロパティで水平方向の揃えを指定することができます。
justify-contentプロパティの値
1. flex-start(初期値 左揃え)
2. flex-end(右揃え)
3. center(中央揃え)
4. space-between(均等配置・両端揃え)
5. space-around(均等配置・両端に余白)
space-betweenとspace-aroundの比較
|
値
|
両端のアイテムの位置
|
アイテム間の余白
|
|---|---|---|
|
space-between
|
端に接する
|
均等
|
|
space-around
|
少し内側に寄る
|
均等(両端は半分の余白サイズ)
|
記述例 子要素を均等配置・両端揃えにする
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
justify-content:space-between;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-6
ブラウザプレビュー(flex-end(右揃え))
ブラウザプレビュー(center(中央揃え))
ブラウザプレビュー(space-between(均等配置・両端揃え))
ブラウザプレビュー(space-around(均等配置・両端に余白))
垂直方向の揃えを指定しよう(align-items)
display:flex;で横並びにした子要素は、align-itemsプロパティで垂直方向の揃えを指定することができます。
垂直方向の揃えを確認するために、親要素に高さ(height)200pxを指定してからalign-itemsを指定してみましょう。
垂直方向の揃えを確認するために、親要素に高さ(height)200pxを指定してからalign-itemsを指定してみましょう。
align-itemsプロパティの値
stretch(初期値 親要素と同じ高さになる)
flex-start(上揃え)
flex-end(下揃え)
center(中央揃え)
baseline(文字のベースラインが揃う)
記述例1 子要素の垂直方向の位置を中央に設定する
.flex-container {
width: 800px;
height: 200px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
align-items: center;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-7
記述例2 baseline(文字のベースラインが揃う)
.flex-container {
width: 800px;
height: 200px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
align-items: baseline;
}HTML/CSS入門編 サンプルコード10-8
※p要素にインラインで以下のCSS(font-sizeプロパティで異なる文字サイズ)を適用しています。
<div class="flex-container"> <p class="flex-item" style="font-size:24px;">flexitem1</p> <p class="flex-item" style="font-size:10px;">flexitem2</p> <p class="flex-item" style="font-size:18px;">flexitem3</p> <p class="flex-item" style="font-size:16px;">flexitem4</p> <p class="flex-item" style="font-size:26px;">flexitem5</p> </div>
HTML/CSS入門編 サンプルコード10-9
ブラウザプレビュー(stretch(初期値 親要素と同じ高さになる))
ブラウザプレビュー(flex-start(上揃え))
ブラウザプレビュー(flex-end(下揃え))
ブラウザプレビュー(center(中央揃え))
ブラウザプレビュー(baseline(異なる文字サイズでも文字のベースラインが揃う))
参考(異なる文字サイズでflex-startの場合)
子要素の折り返しを指定しよう(flex-wrap)
display:flex;で横並びにした子要素は、flex-wrapプロパティで折り返しの指定をすることができます。
初期値は折り返しの指定がされておらず(初期値:nowrap)、子要素の幅の合計が親要素の幅を超えた場合も、途中改行はされず、全てのアイテムが1行に収まるように縮小されます。
折り返しの確認をするために、HTMLサンプルコード10-10のように、子要素のpタグを増やしておきましょう。
また、親要素の高さ(height)は削除しておきます。
初期値は折り返しの指定がされておらず(初期値:nowrap)、子要素の幅の合計が親要素の幅を超えた場合も、途中改行はされず、全てのアイテムが1行に収まるように縮小されます。
折り返しの確認をするために、HTMLサンプルコード10-10のように、子要素のpタグを増やしておきましょう。
また、親要素の高さ(height)は削除しておきます。
flex-wrapプロパティの値
1. nowrap(初期値 子要素が縮小されて1行に収まる)
2. wrap(親要素の幅で折り返す)
3. wrap-reverse(逆方向に折り返し)
記述例 親要素の幅で折り返す
<div class="flex-container"> <p class="flex-item">flexitem1</p> <p class="flex-item">flexitem2</p> <p class="flex-item">flexitem3</p> <p class="flex-item">flexitem4</p> <p class="flex-item">flexitem5</p> <p class="flex-item">flexitem6</p> <p class="flex-item">flexitem7</p> <p class="flex-item">flexitem8</p> <p class="flex-item">flexitem9</p> <p class="flex-item">flexitem10</p> </div>
HTML/CSS入門編 サンプルコード10-10
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
flex-wrap: wrap;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-11
ブラウザプレビュー(nowrap(初期値 子要素が縮小されて1行に収まる))
ブラウザプレビュー(wrap(親要素の幅で折り返す))
ブラウザプレビュー(wrap-reverse(逆方向に折り返し))
子要素同士の間隔を指定しよう(gap)
display:flex;で横並びにした子要素同士の間隔は、gapプロパティで設定することができます。
gapプロパティの利点
- marginやpaddingを使わなくても要素同士の間隔を一括指定できます。
- 子要素間のみに適用され、最初や最後の要素には影響しません。
gapプロパティで間隔が設定される箇所
※上図赤矢印の箇所の間隔が設定されます。
記述例 子要素同士の間隔を縦横共に20pxに設定する
HTML
<div class="flex-container"> <p class="flex-item">flexitem1</p> <p class="flex-item">flexitem2</p> <p class="flex-item">flexitem3</p> <p class="flex-item">flexitem4</p> <p class="flex-item">flexitem5</p> <p class="flex-item">flexitem6</p> <p class="flex-item">flexitem7</p> <p class="flex-item">flexitem8</p> <p class="flex-item">flexitem9</p> <p class="flex-item">flexitem10</p> </div>
HTML/CSS入門編 サンプルコード10-12
CSS
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-13
ブラウザプレビュー(子要素同士の間隔を縦横共に20pxに設定する)
gapプロパティで縦横の間隔を別々に設定しよう
gapプロパティは縦方向と横方向の間隔を別々に設定することもできます。
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
flex-wrap: wrap;
gap: 40px 20px;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-14
ブラウザプレビュー(子要素同士の間隔を縦40px、横20pxに設定する)
複数行の子要素の縦方向の配置を指定しよう(align-content)
display:flex;で横並びにした複数行の子要素は、align-contentプロパティで縦方向の配置の指定をすることができます。
align-contentは、複数行の子要素をひとまとまりにして全体の配置を指定するプロパティです。
複数行の配置を確認するために、HTML/CSS入門編 サンプルコード10-15のように、子要素のpタグを増やしておきましょう。
align-contentは利用可能な余白スペースに対して働くプロパティであるため、heightが設定されていないと効果がありません。
親要素の高さ(height)を300pxに設定しておきます。
align-contentは、複数行の子要素をひとまとまりにして全体の配置を指定するプロパティです。
複数行の配置を確認するために、HTML/CSS入門編 サンプルコード10-15のように、子要素のpタグを増やしておきましょう。
align-contentは利用可能な余白スペースに対して働くプロパティであるため、heightが設定されていないと効果がありません。
親要素の高さ(height)を300pxに設定しておきます。
align-contentプロパティの値
1. stretch(初期値 親要素の高さいっぱいに均等に広がる)
2. flex-start(上揃え)
3. flex-end(下揃え)
4. center(中央揃え)
5. space-between(均等配置・両端揃え)
6. space-around(均等配置・両端に余白)
記述例 中央揃え
HTML
<div class="flex-container">
<p class="flex-item">flexitem1</p>
<p class="flex-item">flexitem2</p>
<p class="flex-item">flexitem3</p>
<p class="flex-item">flexitem4</p>
<p class="flex-item">flexitem5</p>
<p class="flex-item">flexitem6</p>
<p class="flex-item">flexitem7</p>
<p class="flex-item">flexitem8</p>
<p class="flex-item">flexitem9</p>
<p class="flex-item">flexitem10</p>
<p class="flex-item">flexitem11</p>
<p class="flex-item">flexitem12</p>
<p class="flex-item">flexitem13</p>
<p class="flex-item">flexitem14</p>
<p class="flex-item">flexitem15</p>
</div>HTML/CSS入門編 サンプルコード10-15
CSS
.flex-container {
width: 800px;
height: 300px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
flex-wrap: wrap;
gap: 20px;
align-content: center;
}
.flex-item {
color: #fff;
background-color: #e65c5c;
width: 120px;
}HTML/CSS入門編 サンプルコード10-16
ブラウザプレビュー(stretch(初期値 親要素の高さいっぱいに均等に広がる))
ブラウザプレビュー(flex-start(上揃え))
ブラウザプレビュー(flex-end(下揃え))
ブラウザプレビュー(center(中央揃え))
ブラウザプレビュー(space-between(均等配置・両端揃え))
ブラウザプレビュー(space-around(均等配置・両端に余白))
以上が、親要素(flexコンテナ)に指定するプロパティです。
これらのプロパティは、複数の種類を組み合わせて使用することも可能です。
例えば、ある要素の横位置をjustify-content:space-between;で均等配置・両端揃えにすると同時に、align-items:center;で縦位置を中央にするなど。
これらのプロパティは、複数の種類を組み合わせて使用することも可能です。
例えば、ある要素の横位置をjustify-content:space-between;で均等配置・両端揃えにすると同時に、align-items:center;で縦位置を中央にするなど。
【10-3】子要素に指定するプロパティを覚えよう
目安の学習時間:60分
続いて、子要素(flexアイテム)に指定するプロパティの解説をします。
子要素に指定するプロパティは、基本的に親要素に指定するプロパティで作成した土台となるレイアウトを補完するために使用するイメージです。
子要素に指定するプロパティは、基本的に親要素に指定するプロパティで作成した土台となるレイアウトを補完するために使用するイメージです。
子要素が並ぶ順序を指定しよう(order)
通常、HTMLの各要素は記述された順番で表示されますが、display:flex;でアイテム化された子要素が並ぶ順序は、orderプロパティで指定することができます。
orderプロパティの値の記述方法
- 数値が小さい要素ほど先に表示される(整数値:-1などの負の値も設定できる)
- 数値が同じ場合は、HTMLの順序が適用される。
- 数値の初期値は0で、order: -1; の要素は、order: 0; の要素より前に配置される。
orderプロパティで指定した順序
※orderプロパティで指定した順番で子要素が表示される
記述例(HTML)
<div class="flex-container"> <p class="flex-item item1">flexitem1</p> <p class="flex-item item2">flexitem2</p> <p class="flex-item item3">flexitem3</p> <p class="flex-item item4">flexitem4</p> <p class="flex-item item5">flexitem5</p> </div>
HTML/CSS入門編 サンプルコード10-17
※orderプロパティは子要素ひとつひとつに個別に設定するため、上記HTML/CSS入門編 サンプルコード10-17のように、各要素に異なるclass名をつけておきます。
元々書かれていたclass名(flex-item)の後に半角スペースを空けてから2つめのclass名(item1〜item5)を追加しましょう。
※複数のclass名の付け方は、「HTML/CSS入門編 6章 よく使うセレクタを学ぼう」の「マルチクラスをおぼえよう」節を参照してください。
元々書かれていたclass名(flex-item)の後に半角スペースを空けてから2つめのclass名(item1〜item5)を追加しましょう。
※複数のclass名の付け方は、「HTML/CSS入門編 6章 よく使うセレクタを学ぼう」の「マルチクラスをおぼえよう」節を参照してください。
記述例(CSS)
.item1 {
order: 3;
}
.item2 {
order: 1;
}
.item3 {
order: 5;
}
.item4 {
order: 4;
}
.item5 {
order: 2;
}HTML/CSS入門編 サンプルコード10-18
ブラウザプレビュー
子要素が伸びる比率を指定しよう(flex-grow)
flex-growプロパティは、子要素(フレックスアイテム)の「伸びる比率」を指定するプロパティです。
親要素(フレックスコンテナ)の余白がある場合、flex-growの値に応じた割合で余白を埋めます。
親要素(フレックスコンテナ)の余白がある場合、flex-growの値に応じた割合で余白を埋めます。
flex-growプロパティの値の記述方法
- 子要素にflex-grow: 1; を設定すると、親要素に余白がある場合に均等に伸びる。
- 特定の子要素の値を2以上にすると、他の子要素に対してその比率で伸びる。
- 例えば、flex-grow: 2;の要素は、flex-grow: 1;の要素の2倍の割合で伸びる。
- 数値の初期値は0で、flex-grow:0;の場合は、子要素の幅は伸びない。
flex-growプロパティで指定した伸びる比率
※flex-growプロパティで指定した比率で子要素が親要素の余白を埋める
※子要素2は子要素1と子要素3に対して2倍の幅に伸びる
※子要素2は子要素1と子要素3に対して2倍の幅に伸びる
記述例(HTML)
<div class="flex-container"> <p class="flex-item item1">flexitem1</p> <p class="flex-item item2">flexitem2</p> <p class="flex-item item3">flexitem3</p> </div>
HTML/CSS入門編 サンプルコード10-19
記述例(CSS)
.item1 {
background-color: #e65c5c;/*赤*/
flex-grow: 1;/* 伸びる */
}
.item2 {
background-color: #e6d15c;/*黄*/
flex-grow: 2;/* 2倍の比率で伸びる */
}
.item3 {
background-color: #d15ce6;/*紫*/
flex-grow: 1;/* 伸びる */
}HTML/CSS入門編 サンプルコード10-20
ブラウザプレビュー
子要素が縮む比率を指定しよう(flex-shrink)
flex-shrinkプロパティは、子要素(フレックスアイテム)の「縮む比率」を指定するプロパティです。
子要素の幅の合計が、親要素の幅を超えた場合、どの要素がどの程度の割合で縮むかを指定します。
子要素の幅の合計が、親要素の幅を超えた場合、どの要素がどの程度の割合で縮むかを指定します。
flex-shrinkプロパティの値の記述方法
- 子要素にflex-shrink: 1;を設定すると、親要素の幅に子要素が収まりきらなくなった場合、均等に縮みます。
- 特定の子要素の値を2以上にすると、他の子要素に対してその比率で縮みます。
- 例えばflex-shrink: 2;の要素は、flex-shrink: 1;の要素の2倍の割合で縮みます。
- 数値の初期値は1で、flex-shrink: 0;の場合は、その要素の幅は縮みません。
flex-shrinkプロパティで指定した縮む比率
※親要素の幅に子要素が収まりきらない場合、子要素のflex-shrinkの値に応じた比率で縮む。
flex-shrinkは、「親要素の幅が足りないとき」に効果が出るため、プレビューで縮む様子を確認しやすくするために、子要素の幅の合計が親要素の幅を超えるように指定しておきましょう。
記述例(HTML)
<div class="flex-container"> <p class="flex-item item1">flexitem1</p> <p class="flex-item item2">flexitem2</p> <p class="flex-item item3">flexitem3</p> </div>
HTML/CSS入門編 サンプルコード10-21
記述例(CSS)
.flex-container {
width: 800px;
margin: 40px auto;
background-color: #9dedea;
border: 4px solid #000;
display: flex;
flex-wrap: nowrap;
}
.flex-item {
width: 500px;
color: #fff;
background-color: #e65c5c;
}
.item1 {
background-color: #e65c5c;/*赤*/
}
.item2 {
background-color: #e6d15c;/*黄*/
flex-shrink: 2;
}
.item3 {
background-color: #d15ce6;/*紫*/
}HTML/CSS入門編 サンプルコード10-22
ブラウザプレビュー
子要素の初期サイズを指定しよう(flex-basis)
flex-basisプロパティは、子要素の初期サイズを決めるプロパティです。
widthやheightの代わりに子要素のサイズ指定をするために使用します。
widthやheightの代わりに子要素のサイズ指定をするために使用します。
|
プロパティ
|
説明
|
|---|---|
|
width / height
|
pxなどの固定値を指定した場合は基本的に伸縮しない
(ただしmin/max-widthなどの制約やauto/%指定では伸縮する場合あり) |
|
flex-basis
|
flex-growやflex-shrinkの基準となるサイズを指定する
|
flexプロパティについて
flex-grow,flex-shrink,flex-basisの3つのプロパティをまとめて設定できるショートハンドプロパティがflexプロパティです。
記述例
.flex-item {
flex: 2 1 200px;
}
HTML/CSS入門編 サンプルコード10-23
上のプロパティでは、以下のように設定をしています。
flex-grow: 2; → 余ったスペースがあれば、2倍の割合で伸びる
flex-shrink: 1; → 親要素の幅にアイテムが収まりきらない場合、均等に縮む。
flex-basis: 200px; → アイテムの初期サイズが200px。
flex-grow: 2; → 余ったスペースがあれば、2倍の割合で伸びる
flex-shrink: 1; → 親要素の幅にアイテムが収まりきらない場合、均等に縮む。
flex-basis: 200px; → アイテムの初期サイズが200px。
子要素の垂直方向の揃えを個別に指定しよう(align-self)
align-selfプロパティは、個々の子要素の縦方向の位置を調整するために使用するプロパティです。
特定の子要素(flexアイテム)に対して個別の位置調整が可能になります。
特定の子要素(flexアイテム)に対して個別の位置調整が可能になります。





































































































