CSSフレックスコンテナ
親要素(コンテナー)
前の章で指定したように、これは3つのフレックス項目を含むフレックスコンテナ(青色の領域)です。
1
2
3
display
をflex
に設定すると、フレックスコンテナーが柔軟になります。
フレックスコンテナーのプロパティは次のとおりです。
flex-directionプロパティ
flex-direction
プロパティは、コンテナがフレックス項目をどの方向にスタックするかを定義します。
1
2
3
例
column
の値は、フレックス項目を垂直方向 (上から下) に積み重ねます。
.flex-container {
display: flex;
flex-direction: column;
}
例
column-reverse
値は、フレックス項目を垂直方向に (ただし下から上に) 積み重ねます。
.flex-container {
display: flex;
flex-direction: column-reverse;
}
例
row
の値は、フレックス項目を水平方向 (左から右) に積み重ねます。
.flex-container {
display: flex;
flex-direction: row;
}
例
row-reverse
値は、フレックス項目を水平方向(ただし右から左へ)にスタックします。
.flex-container {
display: flex;
flex-direction: row-reverse;
}
flex-wrapプロパティ
flex-wrap
プロパティは、フレックス項目をラップするかどうかを指定します。
以下の例には、flex-wrap
プロパティをよりよく示すために 12 個のflex項目があります。
1
2
3
4
5
6
7
8
9
10
11
12
例
nowrap
値は、フレックス項目が折り返されないことを指定します(これがデフォルトです)。
.flex-container {
display: flex;
flex-wrap: nowrap;
}
例
wrap-reverse
値は、フレキシブル項目が必要に応じて逆の順序でラップされることを指定します。
.flex-container {
display: flex;
flex-wrap: wrap-reverse;
}
フレックスフロープロパティ
flex-flow
プロパティは、flex-direction
プロパティとflex-wrap`プロパティの両方を設定するための短縮プロパティです。
justify-contentプロパティ
justify-content
プロパティは、フレックス項目を配置するために使用されます。
1
2
3
例
center
の値は、フレックス項目をコンテナーの中央に配置します。
.flex-container {
display: flex;
justify-content: center;
}
例
のflex-start
value はコンテナの先頭にフレックスアイテムを配置します (これがデフォルトです):
.flex-container {
display: flex;
justify-content: flex-start;
}
例
flex-end
値は、コンテナの先頭にフレックス項目を配置します (これがデフォルトです)。
.flex-container {
display: flex;
justify-content: flex-end;
}
例
space-around
値は、行の前後にスペースを入れてフレックス項目を表示します。
.flex-container {
display: flex;
justify-content: space-around;
}
例
space-between
値は、行間にスペースを入れてフレックス項目を表示します。
.flex-container {
display: flex;
justify-content: space-between;
}
align-itemsプロパティ
align-items
プロパティは、フレックス項目を整列させるために使用されます。
1
2
3
これらの例では、align-items
プロパティをより適切に示すために、高さ200ピクセルのコンテナを使用します。
例
center
の値は、フレックス項目をコンテナーの中央に配置します。
.flex-container {
display: flex;
height: 200px;
align-items: center;
}
例
flex-start
値は、コンテナの上部にあるflex項目を揃えます。
.flex-container {
display: flex;
height: 200px;
align-items: flex-start;
}
例
flex-end
値は、コンテナの下部にあるflex
項目を揃えます。
.flex-container {
display: flex;
height: 200px;
align-items: flex-end;
}
例
stretch
値は、コンテナを満たすようにフレックス項目をストレッチします (これがデフォルトです)。
.flex-container {
display: flex;
height: 200px;
align-items: stretch;
}
例
baseline
値は、ベースラインの位置合わせなど、フレックス項目を位置合わせします。
.flex-container {
display: flex;
height: 200px;
align-items: baseline;
}
ノート:この例では、項目がテキストのベースラインに合わせて配置されることを示すために、異なるフォント サイズを使用しています。
1
2
3
4
align-content プロパティ
align-content
プロパティは、フレックスラインを整列させるために使用されます。
1
2
3
4
5
6
7
8
9
10
11
12
これらの例では、align-content
プロパティをより適切に示すために、flex-wrap
プロパティをwrap
に設定した高さ600ピクセルのコンテナを使用します。
例
space-between
の値により、フレックスラインが等間隔で表示されます。
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: space-between;
}
例
space-around
値は、フレックスラインの前後にスペースを入れて表示します。
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: space-around;
}
例
stretch
値は、フレックスラインを引き伸ばして残りのスペースを占めます(これがデフォルトです)。
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: stretch;
}
例
center
の値は、コンテナーの中央にフレックス ラインを表示します。
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: center;
}
例
flex-start
値は、コンテナの先頭にフレックスラインを表示します。
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: flex-start;
}
例
flex-end
値は、コンテナの最後にフレックスラインを表示します。
.flex-container {
display: flex;
height: 600px;
flex-wrap: wrap;
align-content: flex-end;
}
完璧なセンタリング
次の例では、非常に一般的なスタイルの問題である完璧なセンタリングを解決します。
解決:justify-content
プロパティとalign-items
プロパティの両方をcenter
に設定すると、flex
アイテムが完全に中央に配置されます。
例
.flex-container {
display: flex;
height: 300px;
justify-content: center;
align-items: center;
}
自分で試してみる»
display: flex;
height: 300px;
justify-content: center;
align-items: center;
}
CSS Flexboxコンテナーのプロパティ
次の表に、CSS Flexboxコンテナーのすべてのプロパティを示します。
プロパティ |
説明 |
---|---|
align-content | flex-wrap プロパティの動作を変更します。 align-items に似ていますが、フレックス アイテムを整列する代わりに、フレックス ラインを整列します。 |
align-items | 項目が交差軸上の使用可能なすべてのスペースを使用していない場合、フレックス項目を垂直方向に揃えます |
display | HTML 要素に使用されるボックスのタイプを指定します |
flex-direction | フレックス コンテナ内のフレキシブル アイテムの方向を指定します |
flex-flow | flex-direction と flex-wrap の簡略プロパティ |
flex-wrap | 1 つのフレックス ラインに十分なスペースがない場合、フレックス アイテムを折り返すかどうかを指定します。 |
justify-content | 項目が主軸の使用可能なすべてのスペースを使用していない場合、フレックス項目を水平方向に整列させます |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。