CSS Layout
Overview
CSSでレイアウトを組む方法をまとめているセクション。
種類 以下の種類がある。
- フロートレイアウト(Float Layout)
- フレックスボックスレイアウト(Flexbox Layout)
- CSSグリッドレイアウト(CSS Grid Layout)
- ポジショニング(Positioning)
- テーブルレイアウト(Table Layout)
- マルチカラムレイアウト(Multi-column Layout) CSSでレイアウトを組むための方法はいくつかあり、それぞれの方法には特定の用途やメリットがあります。代表的なレイアウトの方法を以下に紹介します。
フロートレイアウト(Float Layout
要素を左または右に浮かせることでレイアウトを作成する。
.container {
overflow: hidden; /* フロートをクリアするため */
}
.box {
float: left;
width: 50%;
}
フレックスボックスレイアウト(Flexbox Layout)
**1次元のレイアウト(横方向または縦方向)**を簡単に作成できる。親要素に display: flex;
を指定。
.flex-container {
display: flex;
justify-content: space-between; /* 子要素間のスペースを均等に */
}
.flex-item {
flex: 1;
}
CSSグリッドレイアウト(CSS Grid Layout)
2次元のレイアウトを作成するための強力な方法。親要素に display: grid;
を指定する。
勉強用URL
基本レイアウト構成URL
CSSグリッドレイアウトでサイズが違う復数のボックスをタイル上に配置する
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3列を均等に配置 */
grid-template-rows: auto;
}
CSSグリッドレイアウト(CSS Grid Layout)の用語
コンテナ
display: grid;
または display: inline-grid;
を指定することでその要素はGrid Layoutのコンテナになる。
アイテム
コンテナの子要素。コンテナの直接の子要素は基本的にすべてアイテムとなる。
<div style="display:grid;"> <!-- コンテナ -->
<div></div> <!-- アイテム-->
<p></p> <!-- アイテム -->
<section> <!-- アイテム -->
<div></div> <!-- これはアイテムではない -->
</section>
</div>
ライン
グリッドを分ける垂直および水平の線のこと(0という番号のラインはない)。
グリッドの上下左右それぞれの両端にも存在している。
ラインには上あるいは左から1を基準に正の番号が振られている。
同時に下あるいは右からは-1から順に負の番号が振られています。