place-items
CSS の place-items は一括指定プロパティで、アイテムのブロック軸およびインライン軸に沿ったアイテムの配置 (すなわち align-items および justify-items プロパティ) を、グリッドやフレックスボックスなどのレイアウトシステムにおいて、一度に指定することができます。2 番目の値が設定されていない場合、最初の値がそちらにも使用されます。
試してみましょう
構成要素のプロパティ
このプロパティは以下の CSS プロパティの一括指定です。
構文
css
/* キーワード値 */
place-items: auto center;
place-items: normal start;
/* 位置による配置 */
place-items: center normal;
place-items: start auto;
place-items: end normal;
place-items: self-start auto;
place-items: self-end normal;
place-items: flex-start auto;
place-items: flex-end normal;
place-items: left auto;
place-items: right normal;
/* ベースラインによる配置 */
place-items: baseline normal;
place-items: first baseline auto;
place-items: last baseline normal;
place-items: stretch auto;
/* グローバル値 */
place-items: inherit;
place-items: initial;
place-items: revert;
place-items: unset;
値
auto-
使用される値は、ボックスに親があれば、親ボックスの
justify-itemsプロパティ、そうでなければ絶対位置であり、このような場合、autoはnormalを表します。 normal-
このキーワードの効果は、現在のレイアウトモードに依存します。
- ブロックレベルレイアウトでは、このキーワードは
startの別名です。 - 絶対位置のレイアウトでは、このキーワードは_置換_の絶対位置ボックスには
startのように動作し、_その他_の絶対位置ボックスにはstretchのように動作します。 - 表のセルレイアウトでは、このキーワードは意味を持たず、_無視_されます。
- フレキシブルボックスのレイアウトでは、このキーワードは意味を持たず、_無視_されます。
- グリッドレイアウトでは、このキーワードは
stretchのうちの一つと似た動作をしますが、アスペクト比や固有の寸法を持つボックスはstartのように振舞います。
- ブロックレベルレイアウトでは、このキーワードは
start-
各アイテムは、適切な軸方向で配置コンテナーの先頭側の端に向けて互いに寄せて配置されます。
end-
各アイテムは、適切な軸方向で配置コンテナーの末尾側の端に向けて互いに寄せて配置されます。
flex-start-
アイテムは、配置コンテナーの主軸または交差軸の先頭側の端に向けて、互いに寄せて配置されます。 これはフレックスレイアウトのアイテムのみに適用されます。フレックスコンテナーの子ではないアイテムでは、この値は
startのように扱われます。 flex-end-
アイテムは、配置コンテナーの主軸または交差軸の末尾側の端に向けて、互いに寄せて配置されます。 これはフレックスレイアウトのアイテムのみに適用されます。フレックスコンテナーの子ではないアイテムでは、この値は
endのように扱われます。 self-start-
アイテムは適切な軸で、アイテムの開始側にある配置コンテナーの辺に向けて、互いに接するよう詰められます。
self-end-
アイテムは適切な軸で、アイテムの終端側にある配置コンテナーの辺に向けて、互いに接するよう詰められます。
center-
各アイテムは、配置コンテナーの中央に向けて互いに寄せて配置されます。
left-
各アイテムは、適切な軸方向で配置コンテナーの左側の端に向けて互いに寄せて配置されます。プロパティの軸がインライン軸と平行でない場合は、この値は
startのように動作します。 right-
各アイテムは、適切な軸方向で配置コンテナーの右側の端に向けて互いに寄せて配置されます。プロパティの軸がインライン軸と平行でない場合は、この値は
startのように動作します。 baseline,first baseline,last baseline-
first-baseline 配置または last-baseline 配置への関与を指定します。ボックスの最初または最後のベースラインセットの配置ベースラインを、ベースライン共有グループ内のすべてのボックスで共有される最初または最後のベースラインセットで対応するベースラインに揃えます。
first baselineの代替配置はstart、last baselineの代替配置はendです。 stretch-
各アイテムの寸法の合計が配置コンテナーの寸法よりも小さい場合、寸法が
autoのアイテムは、max-height/max-width(または同等の機能) での制約を尊重しつつ、 (比例的にではなく) 均等に引き伸ばされ、寸法の合計が配置コンテナーを満たすようになります。
公式定義
| 初期値 | 一括指定の次の各プロパティとして
|
|---|---|
| 適用対象 | すべての要素 |
| 継承 | なし |
| 計算値 | 一括指定の次の各プロパティとして
|
| アニメーションの種類 | 離散値 |
関連情報
place-items =
<'align-items'> <'justify-items'>?
例
フレックスコンテナー内でのアイテムの配置
フレックスボックスでは、主軸のアイテムがグループとして扱われるため、justify-self や justify-items したがって、2 番目の値は無視されます。
CSS
css
#container {
height:200px;
width: 240px;
place-items: stretch; /* You can change this value by selecting another option in the list */
background-color: #8c8c8c;
display: flex;
}
結果
グリッドコンテナーでのアイテムの配置
以下のグリッドコンテナーのアイテムは、配置されるグリッド領域よりも小さいため、place-items はブロック方向とインライン方向にアイテムを移動します。
CSS
css
#gridcontainer {
height:200px;
width: 240px;
place-items: stretch; /* You can change this value by selecting another option in the list */
background-color: #8c8c8c;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
#gridcontainer > div {
width: 50px;
}
結果
仕様書
| Specification |
|---|
| CSS Box Alignment Module Level 3 # place-items-property |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- CSS フレックスボックスガイド: フレックスボックスの基本概念
- CSS フレックスボックスガイド: フレックスコンテナー内でのアイテムの配置
- CSS グリッドガイド: CSS グリッドレイアウト内でのボックス配置
- CSS ボックス配置
align-itemsプロパティalign-selfプロパティjustify-itemsプロパティjustify-selfプロパティ