レイアウト・配置

29個のプロパティ

display

レイアウト・配置

要素の表示方法を指定するプロパティです。ブロック要素、インライン要素、フレックスコンテナ、グリッド、noneなど、様々な表示形式を設定できます。インライン・インラインブロックの違いも重要です。

コード例
display: flex;

display: flex

レイアウト・配置

要素をフレックスコンテナに変換し、子要素(フレックスアイテム)を柔軟にレイアウトできるプロパティです。1次元レイアウト(行または列)の配置に最適で、モダンWebデザインの基礎となります。

コード例
.container { display: flex; justify-content: center; align-items: center; }

display: grid

レイアウト・配置

要素をグリッドコンテナに変換し、子要素(グリッドアイテム)を2次元レイアウト(行と列)で配置できるプロパティです。複雑なレイアウトを直感的に実現でき、レスポンシブデザインにも最適です。

コード例
.container { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }

order

レイアウト・配置

フレックスアイテムの表示順序を変更するプロパティです。HTMLの記述順序を変えずに、視覚的な並び順だけを調整できます。アクセシビリティを保ちながらレスポンシブデザインに対応できます。

コード例
.first { order: 1; } .second { order: 3; } .third { order: 2; }

container-type

レイアウト・配置

要素をコンテナクエリのコンテナとして定義し、どの軸のサイズ変化を監視するかを指定するプロパティです。子要素がコンテナのサイズに応じてスタイルを変更できるようになります。

コード例
container-type: inline-size;

subgrid

レイアウト・配置

親グリッドのトラック(行や列)を子グリッドで継承できる機能です。複雑なレイアウトの整列が簡単になります。

コード例
.parent { display: grid; grid-template-columns: 1fr 2fr 1fr; } .child { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; }

aspect-ratio

レイアウト・配置

要素のアスペクト比(縦横比)を指定するプロパティです。16/9や1/1のように指定し、レスポンシブな画像や動画の表示で縦横比を維持します。padding-topハックの代替として、より直感的な実装が可能です。

コード例
aspect-ratio: 16 / 9;

place-items

レイアウト・配置

align-itemsとjustify-itemsを一括で設定するショートハンドプロパティです。Grid/Flexboxで中央配置が簡単になります。

コード例
.grid-container { display: grid; place-items: center; }

place-content

レイアウト・配置

align-contentとjustify-contentを一括で設定するショートハンドプロパティです。

コード例
.flex-container { display: flex; flex-wrap: wrap; place-content: center; }

flex-direction

レイアウト・配置

フレックスコンテナ内のアイテムの配置方向を指定するプロパティです。row(横並び)、column(縦並び)、row-reverse、column-reverseの値があり、レスポンシブデザインでの方向切り替えに便利です。

コード例
flex-direction: row;

justify-content

レイアウト・配置

フレックスコンテナ内のアイテムの主軸方向の配置を指定するプロパティです。flex-start、flex-end、center、space-between、space-aroundなどがあり、アイテム間の余白配分を制御します。

コード例
justify-content: center;

justify-items

レイアウト・配置

グリッドコンテナ内のアイテムの水平方向(インライン軸)の配置を制御するプロパティです。全てのグリッドアイテムに対して一括で配置を指定できます。

コード例
.grid-container { display: grid; grid-template-columns: repeat(3, 200px); justify-items: center; }

align-items

レイアウト・配置

フレックスコンテナ内のアイテムの交差軸方向の配置を指定するプロパティです。flex-start、flex-end、center、baseline、stretchなどの値があり、高さが異なるアイテムの縦方向の配置を制御します。

コード例
align-items: center;

align-content

レイアウト・配置

FlexboxやGridで複数行がある場合、行全体の交差軸方向の配置を制御するプロパティです。flex-wrapで複数行になった場合や、グリッドで複数行・列がある場合に効果を発揮します。

コード例
.flex-container { display: flex; flex-wrap: wrap; height: 300px; align-content: center; }

flex-wrap

レイアウト・配置

フレックスアイテムが一行に収まらない場合の折り返し動作を制御します。nowrap(折り返しなし)、wrap(折り返す)、wrap-reverse(逆順で折り返す)があり、レスポンシブなカードレイアウトなどに使用されます。

コード例
.flex-container { display: flex; flex-wrap: wrap; gap: 1rem; } .item { flex: 1 1 200px; min-width: 120px; background: #3b82f6; color: #fff; margin-bottom: 8px; }

flex (grow/shrink/basis)

レイアウト・配置

フレックスアイテムの伸縮性と基本サイズを制御するプロパティです。flex-grow(余白の配分比率)、flex-shrink(縮小比率)、flex-basis(基本サイズ)を組み合わせて、柔軟で予測可能なレイアウトを実現します。

コード例
.sidebar { flex: 0 0 250px; } .main { flex: 1; }

grid-template-columns

レイアウト・配置

グリッドコンテナの列のサイズと数を定義するプロパティです。px、%、fr(fractional unit)、auto、repeat()関数などで柔軟に指定できます。複雑な2次元レイアウトの基礎となります。

コード例
grid-template-columns: 1fr 1fr 1fr;

grid-template-areas

レイアウト・配置

グリッドエリアに名前を付けて、視覚的にレイアウトを定義できるプロパティです。文字列でエリア名を並べることで、直感的で保守性の高いグリッドレイアウトを実現できます。

コード例
.layout { display: grid; grid-template-areas: "header header header" "sidebar main aside" "footer footer footer"; } .header { grid-area: header; } .sidebar { grid-area: sidebar; } .main { grid-area: main; }

grid-template-columns: repeat

レイアウト・配置

グリッドで自動的に列数を調整する関数です。repeat(auto-fit, minmax(最小幅, 1fr))の形式で、コンテナ幅に応じて自動的にカラム数が変わるレスポンシブグリッドの実装に必須です。

コード例
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

position

レイアウト・配置

要素の配置方法を指定するプロパティです。通常の文書フローからの配置制御が可能です。top、right、bottom、leftプロパティと組み合わせて使用します。

コード例
.relative-box { position: relative; top: 10px; left: 20px; }

z-index

レイアウト・配置

要素の重ね順(奥行き順)を指定するプロパティです。値が大きいほど手前に表示されます。position: static以外の要素に適用され、モーダルやドロップダウンメニューなどの実装に不可欠です。

コード例
z-index: 1;

overflow

レイアウト・配置

要素からはみ出したコンテンツの表示方法を指定するプロパティです。visible、hidden、scroll、autoなどがあり、スクロール領域の制御やレイアウトの調整に使用します。overflow-xとoverflow-yで軸ごとに指定も可能です。

コード例
.box { width: 200px; height: 80px; overflow: visible; }

inset

レイアウト・配置

top、right、bottom、leftを一括で指定できる短縮プロパティです。position: absoluteやfixedと組み合わせて使用します。

コード例
inset: 20px;

align-self

レイアウト・配置

FlexboxやGridの子要素が個別に縦方向(交差軸)の配置を上書きするプロパティです。親のalign-itemsを上書きし、特定のアイテムだけ異なる配置を実現できます。

コード例
align-self: flex-start;

justify-self

レイアウト・配置

Grid子要素が個別に横方向(インライン軸)の配置を指定するプロパティです。Flexboxでは効果がない点に注意。

コード例
justify-self: start;

grid-column

レイアウト・配置

グリッドアイテムが占める列の範囲を指定する短縮プロパティです。grid-column-startとgrid-column-endを一括指定。

コード例
grid-column: span 2;

grid-row

レイアウト・配置

グリッドアイテムが占める行の範囲を指定する短縮プロパティです。grid-row-startとgrid-row-endを一括指定。

コード例
grid-row: span 2;

position: sticky

レイアウト・配置

スクロール位置に応じて、通常のフローとfixedの間で切り替わる配置方法です。指定した位置に到達するまで通常配置、到達後は固定されます。

コード例
position: sticky; top: 0;

Logical Properties

レイアウト・配置

書字方向(横書き・縦書き)に依存しない論理的なプロパティです。margin-inline-start、padding-block-endなど、方向に中立的な指定が可能です。

コード例
margin-inline-start: 20px;