今回は【CSS】グリッドやアイテムの位置・方向を指定する!番外編の解説になります!
こんな方に読んでほしい
- CSSを学び始めた方へ
-
Grid Layout
について学びたい方へ - 今回は以前、解説した
justify-content
やalign-content
などと組み合わせて位置・方向を
指定する解説になります
今回は、今まで解説してきた、justify-content
やalign-content
と、組み合わせて位置・方向を指定します。
グリッドレイアウトとは
グリッドレイアウトとは
グリッドレイアウトは2次元レイアウトとも呼ばれ、HTML、CSSを使って
水平方向、垂直方向の両方に沿って要素を配置できます。
グリッドレイアウトでは、Grid Layoutコンテナを格子状のマス目のように考えることができます。
要素の長さや、順番に関わらず、上記のように2次元的にレイアウトすることが可能です。
1方向に関わらず、自由に要素を配置できます。
親要素に、display:grid、inline-gridを指定すると、その要素をGrid Layoutコンテナに指定できます。
また、Grid Layoutコンテナの子要素は自動的にグリッドアイテムとなります。
Grid Layoutコンテナ (グリッド全体を表す要素になります)
グリッドアイテム (グリッドのエリアに配置する要素になります)
書き方は以下のようになります
親要素 {
display: grid / inline-grid;
/*--内訳
①display: grid;
②display: inline-grid;
①か②のどちらかを指定します。
--*/
}
基本となるGrid Layout
基本は、左上からレイアウトが構築されます。
-rows (行のトラック)は2になり
「-rows: 100px 100px」のように指定します。
-columns (列のトラック)は3になり
「-columns: 100px 100px 100px」のように指定します。
<div class="grid-container">
<div class="grid-item">A</div>
<div class="grid-item">B</div>
<div class="grid-item">C</div>
<div class="grid-item">D</div>
<div class="grid-item">E</div>
<div class="grid-item">F</div>
</div>
/*--親要素--*/
.grid-container {
display: grid;
grid-template: 100px 100px / 100px 100px 100px;
/*--以下装飾--*/
background-color: #ffffff;
border: solid 5px #fb6158;
}
/*--子要素--*/
.grid-item {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #ffffff;
background-color: #1ece50; /*--各アイテム 背景色のみ変更しております--*/
padding: 30px;
box-sizing: border-box;
}
justify-content アイテムの配置する位置を指定する
justify-content
プロパティとは、flexboxアイテムを配置する際に、開始点や終了点、中心からの配置が可能になります。
今回は、アイテムを中心から配置します。
詳しい指定方法については下記の記事で解説しております。
justify-contentについての解説記事
flexboxアイテムを配置する際に、開始点や終了点、中心からの配置が可能になります。
- 指定できる値
- flex-start(初期値)
flexboxコンテナのメイン軸の開始点から配置します
- flex-end
flexboxコンテナのメイン軸の終了点から配置します
- center
flexboxコンテナのメイン軸の中心から配置します
- space-between
flexboxアイテムの最初を開始点に、最後を終了点に、残りは均等に配置します
- space-around
flexboxコンテナのメイン軸に合わせて、flexboxアイテムを等間隔に配置します
justify-content アイテムの配置する位置を指定する
<div class="grid-container">
<div class="grid-item">A</div>
<div class="grid-item">B</div>
<div class="grid-item">C</div>
<div class="grid-item">D</div>
<div class="grid-item">E</div>
<div class="grid-item">F</div>
</div>
/*--親要素--*/
.grid-container {
display: grid;
grid-template: 100px 100px / 100px 100px 100px;
justify-content: center;
/*--以下装飾--*/
background-color: #ffffff;
border: solid 5px #fb6158;
}
/*--子要素--*/
.grid-item {/*--以下装飾--*/}
align-content アイテムの縦方向の揃え位置を指定する
align-content
プロパティとは、flexboxアイテムが複数行あった際に、クロス軸に対して配置が可能になります。
今回は、justify-content
と組み合わせをし、クロス軸に合わせて、中央に配置します。
詳しい指定方法については下記の記事で解説しております。
align-contentについての解説記事
flexboxアイテムが複数行あった際に、クロス軸に対して配置が可能になります。
- 指定できる値
- stretch(初期値)
flexboxコンテナ(親要素)のクロス軸に合わせて、自動調整されます
- flex-start
flexboxコンテナのクロス軸に合わせて、
上部に配置します
- flex-end
flexboxコンテナのクロス軸に合わせて、
下部に配置します
- center
flexboxコンテナのクロス軸に合わせて、
中央に配置します
- space-between
flexboxアイテムの最初を開始点に、最後を終了点に、残りは均等に配置します
- space-around
flexboxコンテナのクロス軸に合わせて、flexboxアイテムを等間隔に配置します
align-content アイテムの縦方向の揃え位置を指定する
<div class="grid-container">
<div class="grid-item">A</div>
<div class="grid-item">B</div>
<div class="grid-item">C</div>
<div class="grid-item">D</div>
<div class="grid-item">E</div>
<div class="grid-item">F</div>
</div>
/*--親要素--*/
.grid-container {
display: grid;
grid-template: 100px 100px / 100px 100px 100px;
justify-content: center;
align-content: center;
/*--以下装飾--*/
background-color: #ffffff;
border: solid 5px #fb6158;
}
/*--子要素--*/
.grid-item {/*--以下装飾--*/}
grid-gap アイテム同士間の余白を指定する
grid-gap
プロパティとは、グリッドアイテム同士間の余白を指定します。
行と列の余白を指定します、余白が付くのはグリッドアイテム同士間になるので、
外側には余白が付きません。
今回は、justify-content
とalign-content
を組み合わせをし、余白を指定します。
詳しい指定方法については下記の記事で解説しております。
<div class="grid-container">
<div class="grid-item">A</div>
<div class="grid-item">B</div>
<div class="grid-item">C</div>
<div class="grid-item">D</div>
<div class="grid-item">E</div>
<div class="grid-item">F</div>
</div>
/*--親要素--*/
.grid-container {
display: grid;
grid-template: 100px 100px / 100px 100px 100px;
justify-content: center;
align-content: center;
grid-gap: 10px;
/*--以下装飾--*/
background-color: #ffffff;
border: solid 5px #fb6158;
}
/*--子要素--*/
.grid-item {/*--以下装飾--*/}
まとめ
今回はこれで以上です。
- POINT
- Grid Layoutコンテナとは、グリッド全体を表す要素になります。
- グリッドアイテムとは、グリッドのエリアに配置する要素になります。
-
justify-content
とは、flexboxアイテムをメイン軸(横方向)に対して配置します。 -
align-content
とは、flexboxアイテムをクロス軸(縦方向)に対して配置します。 -
grid-gap
とは、グリッドアイテム同士間の余白を指定します。
スポンサーリンク
SHU
1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。
最新記事
関連記事