Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. CSS
  3. リファレンス
  4. プロパティ
  5. align-items

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

align-items

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年9月⁩.

* Some parts of this feature may have varying levels of support.

CSSalign-items プロパティは、すべての直接の子要素に集合としてalign-self の値を設定します。フレックスボックスでは交差軸方向のアイテムの配置を制御します。グリッドレイアウトでは、グリッド領域におけるアイテムのブロック軸方向の配置を制御します。

試してみましょう

align-items: stretch;
align-items: center;
align-items: start;
align-items: end;
<section>  <div>    <div>      <div>One</div>      <div>Two</div>      <div>Three</div>    </div>  </div></section>
#example-element {  border: 1px solid #c5c5c5;  display: grid;  width: 200px;  grid-template-columns: 1fr 1fr;  grid-auto-rows: 80px;  grid-gap: 10px;}#example-element > div {  background-color: rgba(0, 0, 255, 0.2);  border: 3px solid blue;}

このデモは、グリッドレイアウトを使用してalign-items のいくつかの値の動作を示しています。

構文

css
/* 基本キーワード */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: self-start;align-items: self-end;align-items: anchor-center;/* ベースラインに配置する */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: revert;align-items: revert-layer;align-items: unset;

normal

このキーワードの効果は現在のレイアウトモードに依存します。

  • 絶対位置指定レイアウトでは、このキーワードは置換絶対位置指定ボックスにおけるstart のように動作し、他のすべての絶対位置指定ボックスではstretch として動作します。
  • 絶対位置指定レイアウトの静的位置では、キーワードはstretch として動作します。
  • フレックスアイテムについては、このキーワードはstretch として動作します。
  • グリッドアイテムについては、このキーワードはstretch の一つと似た動作をしますが、ボックスにアスペクト比や内在的な寸法がある場合は、start のように動作します。
  • このプロパティはブロックレベルボックスや、表のセルには適用されません。
center

フレックスアイテムのマージンボックスは、交差軸上の中央に配置されます。アイテムの交差軸のサイズがフレックスコンテナーより大きい場合は、両方向へ均等にはみ出します。

start

そのアイテムは、互いにその軸の配置コンテナーの先頭側の端に寄せられます。

end

そのアイテムは、互いにその軸の配置コンテナーの末尾側の端に寄せられます。

self-start

そのアイテムは、その軸の配置コンテナーで、そのアイテムの先頭側の端に寄せられます。

self-end

そのアイテムは、その軸の配置コンテナーで、そのアイテムの末尾側の端に寄せられます。

baseline,first baseline,last baseline

すべてのフレックスアイテムは、フレックスコンテナーのベースラインに沿って配置されます。交差軸の先頭側マージンの端とベースラインの間の距離が最大のアイテムが、行の交差軸の先頭側の端に寄せられます。

stretch

アイテムが配置コンテナーより小さい場合、自動サイズのアイテムは、アイテムの幅と高さの制限を尊重しながら、コンテナーを埋めるために均等に拡大されます。

anchor-center

アンカー位置指定要素の場合、関連付けられたアンカー要素のブロック方向の中心にアイテムを配置します。anchor-center を使用してアンカーの中央に配置を参照してください。

safe

配置キーワードと共に使用します。選択されたキーワードによって、アイテムが配置コンテナーをあふれてデータの損失が発生する場合、アイテムは配置モードがstart であったかのように配置されます。

unsafe

配置キーワードと共に使用します。アイテムの寸法と配置コンテナーとの関係、あふれることによってデータの損失が発生するかどうかにかかわらず、指定された値を尊重します。

また、フレックスボックスのために定義された 2 つの値があります。これらはフレックスモデルの軸の概念に基づいており、グリッドレイアウトでも同様に動作します。

flex-start

フレックスレイアウトでのみ用いられ、フレックスアイテムを、フレックスコンテナーの主軸の先頭側または交差軸の先頭側の端に寄せて配置します。フレックス整形コンテキスト以外で使用する場合、この値はstart として動作します。

flex-end

フレックスレイアウトでのみ用いられ、フレックスアイテムを、フレックスコンテナーの主軸の末尾側または交差軸の末尾側の端に寄せて配置します。フレックス整形コンテキスト以外で使用する場合、この値はend として動作します。

公式定義

初期値normal
適用対象すべての要素
継承なし
計算値指定通り
アニメーションの種類離散値

形式文法

align-items =
normal|
stretch|
<baseline-position>|
<overflow-position>?<self-position>|
anchor-center

<baseline-position> =
[first|last]?&&
baseline

<overflow-position> =
unsafe|
safe

<self-position> =
center|
start|
end|
self-start|
self-end|
flex-start|
flex-end

この例では、6 つの子要素を持つコンテナーを持っています。<select> ドロップダウンメニューで、コンテナーのdisplaygridflex の間で切り替えることができます。 2 つ目のメニューでは、コンテナーのalign-items プロパティの値を変更できます。

CSS

コンテナーとアイテムに対して、確実に 2 行または 1 列、またはアイテムを保有しているようにスタイル設定します。.flex および.grid クラスを定義し、 JavaScript でコンテナーに適用します。これらはコンテナーのdisplay 値を設定し、背景色と境界線を変更することで、レイアウトが変更されたことを示す追加のインジケーターを提供します。 6 つのフレックスアイテムの背景色はそれぞれ異なり、 4 番目のアイテムは 2 行に、 6 番目のアイテムはフォントが拡大されています。

css
.flex,.grid {  height: 200px;  width: 500px;  align-items: initial; /* ライブサンプルでこの値を変更 */  border: solid 5px transparent;  gap: 3px;}.flex {  display: flex;  flex-wrap: wrap;  background-color: #8c8c9f;  border-color: magenta;}.grid {  display: grid;  grid-template-columns: repeat(auto-fill, 100px);  background-color: #9f8c8c;  border-color: slateblue;}#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 > div {  box-sizing: border-box;  border: 2px solid #fff;  width: 100px;  display: flex;  align-items: center;  justify-content: center;}

HTML

コンテナーの<div> とその中に<div> を 6 つ設置します。フォームの HTML とコンテナーのクラスを変更する JavaScript は、簡潔にするために隠してあります。

html
<div>  <div>1</div>  <div>2</div>  <div>3</div>  <div>4<br />2 行目</div>  <div>5</div>  <div>6</div></div>
<div>  <label for="display">display: </label>  <select>    <option value="flex">flex</option>    <option value="grid">grid</option>  </select></div><div>  <label for="values">align-items: </label>  <select>    <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="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>
const values = document.getElementById("values");const display = document.getElementById("display");const container = document.getElementById("container");values.addEventListener("change", (evt) => {  container.style.alignItems = evt.target.value;});display.addEventListener("change", (evt) => {  container.className = evt.target.value;});

結果

仕様書

Specification
CSS Box Alignment Module Level 3
# align-items-property
CSS Flexible Box Layout Module Level 1
# align-items-property

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp