--- title: align-items slug: Web/CSS/align-items tags: - CSS - CSS グリッドレイアウト - CSS フレックスボックス - CSS プロパティ - CSS ボックス配置 - Reference translation_of: Web/CSS/align-items ---
CSS の align-items プロパティは、すべての直接の子要素に集合として {{cssxref("align-self")}} の値を設定します。フレックスボックスでは{{glossary("Cross Axis", "交差軸")}}方向のアイテムの配置を制御します。グリッドレイアウトでは、{{glossary("Grid Areas", "グリッド領域")}}におけるアイテムのブロック軸方向の配置を制御します。
以下のデモは、グリッドレイアウトを使用して align-items のいくつかの値の動作を示しています。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
/* 基本キーワード */ align-items: normal; align-items: stretch; /* 位置による配置 */ /* align-items は左と右の値を取らない */ align-items: center; /* アイテムを中央付近にまとめる */ align-items: start; /* アイテムを先頭にまとめる */ align-items: end; /* アイテムを末尾にまとめる */ align-items: flex-start; /* フレックスアイテムを先頭にまとめる */ align-items: flex-end; /* フレックスアイテムを末尾にまとめる */ /* ベースラインに配置する */ align-items: baseline; align-items: first baseline; align-items: last baseline; /* オーバーフロー配置 (位置指定要素のみ) */ align-items: safe center; align-items: unsafe center; /* グローバル値 */ align-items: inherit; align-items: initial; align-items: unset;
normalstart のように動作し、他のすべての絶対配置ボックスでは stretch として動作します。stretch として動作します。stretch として動作します。stretch の一つと似た動作をしますが、ボックスにアスペクト比や内部寸法がある場合は start のように動作します。flex-startflex-endcenterstartendself-startself-endbaselinefirst baselinelast baselinestretchsafestart であったかのように配置されます。unsafe#container {
height:200px;
width: 240px;
align-items: 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-items: </label>
<select id="values">
<option value="normal">normal</option>
<option value="flex-start">flex-start</option>
<option value="flex-end">flex-end</option>
<option value="center" selected>center</option>
<option value="baseline">baseline</option>
<option value="stretch">stretch</option>
<option value="start">start</option>
<option value="end">end</option>
<option value="self-start">self-start</option>
<option value="self-end">self-end</option>
<option value="left">left</option>
<option value="right">right</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 self-end">safe self-end</option>
<option value="unsafe self-end">unsafe self-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.alignItems = evt.target.value;
});
display.addEventListener('change', function (evt) {
container.className = evt.target.value;
});
{{EmbedLiveSample("Example", "260px", "290px")}}
| 仕様書 | 状態 | 備考 |
|---|---|---|
| {{SpecName("CSS3 Box Alignment", "#propdef-align-items", "align-items")}} | {{Spec2("CSS3 Box Alignment")}} | 最新の構文定義に更新。 |
| {{SpecName('CSS3 Flexbox', '#propdef-align-items', 'align-items')}} | {{Spec2('CSS3 Flexbox')}} | 初回定義 |
{{cssinfo}}
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
{{Compat("css.properties.align-items.flex_context")}}
{{Compat("css.properties.align-items.grid_context")}}