--- title: align-content slug: Web/CSS/align-content tags: - CSS - CSS フレックスボックス - CSS プロパティ - CSS ボックス配置 - Reference - place-content translation_of: Web/CSS/align-content ---
CSS の align-content
プロパティは、フレックスボックスの交差軸またはグリッドのブロック軸方向の内部のアイテムの間または周囲の間隔の配分方法を設定します。
下記の対話型のデモでは、グリッドレイアウトを使用してこのプロパティの値のいくつかを説明しています。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
単一行のフレックスコンテナー (つまり、 flex-wrap: nowrap
のもの) では、このプロパティは効果がありません。
/* 基本的な位置による配 */ /* align-content は left および right の値を取りません */ align-content: center; /* アイテムを中央に寄せる */ align-content: start; /* アイテムを先頭に寄せる */ align-content: end; /* アイテムを末尾に寄せる */ align-content: flex-start; /* フレックスアイテムを先頭に寄せる */ align-content: flex-end; /* フレックスアイテムを末尾に寄せる */ /* 通常の配置 */ align-content: normal; /* ベースラインの配置 */ align-content: baseline; align-content: first baseline; align-content: last baseline; /* 均等配置 */ align-content: space-between; /* アイテムを均等に配置し 最初のアイテムは先頭に寄せ、 最後のアイテムは末尾に寄せる */ align-content: space-around; /* アイテムを均等に配置し 各アイテムの両側に半分の大きさの 間隔を置く */ align-content: space-evenly; /* アイテムを均等に配置し 各アイテムの周りに同じ大きさの間隔を置く */ align-content: stretch; /* アイテムを均等に配置し コンテナーに合うようにサイズ「自動」の アイテムを引き伸ばす */ /* あふれた場合の配置 */ align-content: safe center; align-content: unsafe center; /* グローバル値 */ align-content: inherit; align-content: initial; align-content: unset;
start
end
flex-start
start
のように扱われます。flex-end
end
のように扱われます。center
normal
align-content
の値が設定されていないかのように、既定の位置に寄せて配置されます。baseline
first baseline
last baseline
first baseline
の代替配置は start
、last baseline
の代替配置は end
です。space-between
space-around
space-evenly
stretch
auto
のアイテムは、 {{cssxref("max-height")}}/{{cssxref("max-width")}} (または同等の機能) での制約を尊重しつつ、 (比例的にではなく) 均等に引き伸ばされ、交差軸方向の寸法の合計が配置コンテナーを満たすようになります。safe
start
であったかのように配置されます。unsafe
#container { height:200px; width: 240px; align-content: center; /* Can be changed in the live sample */ background-color: #8c8c8c; } .flex { display: flex; flex-wrap: wrap; } .grid { display: grid; grid-template-columns: repeat(auto-fill, 50px); } div > div { box-sizing: border-box; border: 2px solid #8c8c8c; width: 50px; display: flex; align-items: center; justify-content: center; } #item1 { background-color: #8cffa0; min-height: 30px; } #item2 { background-color: #a0c8ff; min-height: 50px; } #item3 { background-color: #ffa08c; min-height: 40px; } #item4 { background-color: #ffff8c; min-height: 60px; } #item5 { background-color: #ff8cff; min-height: 70px; } #item6 { background-color: #8cffff; min-height: 50px; font-size: 30px; } select { font-size: 16px; } .row { margin-top: 10px; }
<div id="container" class="flex"> <div id="item1">1</div> <div id="item2">2</div> <div id="item3">3</div> <div id="item4">4</div> <div id="item5">5</div> <div id="item6">6</div> </div> <div class="row"> <label for="display">display: </label> <select id="display"> <option value="flex">flex</option> <option value="grid">grid</option> </select> </div> <div class="row"> <label for="values">align-content: </label> <select id="values"> <option value="normal">normal</option> <option value="stretch">stretch</option> <option value="flex-start">flex-start</option> <option value="flex-end">flex-end</option> <option value="center" selected>center</option> <option value="space-between">space-between</option> <option value="space-around">space-around</option> <option value="space-evenly">space-evenly</option> <option value="start">start</option> <option value="end">end</option> <option value="left">left</option> <option value="right">right</option> <option value="baseline">baseline</option> <option value="first baseline">first baseline</option> <option value="last baseline">last baseline</option> <option value="safe center">safe center</option> <option value="unsafe center">unsafe center</option> <option value="safe right">safe right</option> <option value="unsafe right">unsafe right</option> <option value="safe end">safe end</option> <option value="unsafe end">unsafe end</option> <option value="safe flex-end">safe flex-end</option> <option value="unsafe flex-end">unsafe flex-end</option> </select> </div>
var values = document.getElementById('values'); var display = document.getElementById('display'); var container = document.getElementById('container'); values.addEventListener('change', function (evt) { container.style.alignContent = evt.target.value; }); display.addEventListener('change', function (evt) { container.className = evt.target.value; });
{{EmbedLiveSample("Example", 260, 290)}}
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName("CSS3 Box Alignment", "#propdef-align-content", "align-content")}} | {{Spec2("CSS3 Box Alignment")}} | [ first | last ]? baseline, start, end, left, right, unsafe | safe の値を追加。 |
{{SpecName("CSS3 Flexbox", "#align-content-property", "align-content")}} | {{Spec2("CSS3 Flexbox")}} | 初回定義 |
{{Compat("css.properties.align-content.flex_context")}}
{{Compat("css.properties.align-content.grid_context")}}