grid-auto-rows
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
grid-auto-rows
は CSS のプロパティで、暗黙的に生成されたグリッドの行トラックまたはトラックのパターンの大きさを指定します。
試してみましょう
グリッドアイテムが grid-template-rows
で明示的に大きさが指定されていない行に配置された場合、暗黙的にグリッドトラックが作成され、そのアイテムを保持します。これには、範囲外の行に明示的に配置する場合と、自動配置アルゴリズムによって追加の行が作成される場合があります。
構文
/* キーワード値 */
grid-auto-rows: min-content;
grid-auto-rows: max-content;
grid-auto-rows: auto;
/* <length> 値 */
grid-auto-rows: 100px;
grid-auto-rows: 20cm;
grid-auto-rows: 50vmax;
/* <percentage> 値 */
grid-auto-rows: 10%;
grid-auto-rows: 33.3%;
/* <flex> 値 */
grid-auto-rows: 0.5fr;
grid-auto-rows: 3fr;
/* minmax() 値 */
grid-auto-rows: minmax(100px, auto);
grid-auto-rows: minmax(max-content, 2fr);
grid-auto-rows: minmax(20%, 80vmax);
/* fit-content() 値 */
grid-auto-rows: fit-content(400px);
grid-auto-rows: fit-content(5cm);
grid-auto-rows: fit-content(20%);
/* multiple track-size 値 */
grid-auto-rows: min-content max-content auto;
grid-auto-rows: 100px 150px 390px;
grid-auto-rows: 10% 33.3%;
grid-auto-rows: 0.5fr 3fr 1fr;
grid-auto-rows: minmax(100px, auto) minmax(max-content, 2fr) minmax(20%, 80vmax);
grid-auto-rows: 100px minmax(100px, auto) 10% 0.5fr fit-content(400px);
/* グローバル値 */
grid-auto-rows: inherit;
grid-auto-rows: initial;
grid-auto-rows: revert;
grid-auto-rows: revert-layer;
grid-auto-rows: unset;
値
<length>
-
負の値ではない長さです。
<percentage>
-
グリッドコンテナーのブロック方向の寸法に対する相対値で、負ではない
<percentage>
です。グリッドコンテナーのブロック方向の寸法が不定の場合は、パーセント値はauto
のように扱われます。 <flex>
-
fr
の単位の付いた負の数ではない値で、トラックのフレックス係数を指定します。<flex>
の寸法のトラックは、残りの空間をフレックス係数の割合に比例して分け合います。minmax()
記法の外で使用された場合は、最小値が自動として扱われます(つまりminmax(auto, <flex>)
)。 max-content
-
グリッドトラックを占有しているグリッドアイテムの中で、コンテンツ貢献度の最大値を表すキーワードです。
min-content
-
グリッドトラックを占有しているグリッドアイテムの中で、コンテンツ貢献度の最小値を表すキーワードです。
minmax(min, max)
-
min 以上、max 以下の寸法の範囲を定義する関数記法です。 max が min より小さい場合は、 max は無視され、 min として扱われます。
<flex>
の値は、最大値として、トラックのフレックス係数を設定します。最小値としては、ゼロ(または、グリッドコンテナーの寸法が最小コンテンツの制約を受けている場合は、最小コンテンツ)として扱われます。 fit-content( [ <length> | <percentage> ] )
-
min(max-content, max(auto, argument))
という式を表します。この式は、トラックの寸法がauto
の最小値よりも大きい場合に argument で固定されることを除いて、auto
と同様(すなわちminmax(auto, max-content)
)に計算されます。 auto
-
最大値として使用された場合は、トラック内のアイテムのうち最大の
max-content
の寸法を表します。最小値として使用された場合は、そのトラック内のアイテムのうち最大の最小寸法を(各アイテムの
min-width
/min-height
で指定された寸法)を表します。これは通常、常にとは限りませんが、min-content
の寸法です。minmax()
記法の外で使用された場合、auto
は上記の最小値と最大値の間の範囲を表します。多くの場合はminmax(min-content,max-content)
のように動作します。メモ: トラックの寸法が
auto
の場合(かつauto
だけの場合)は、align-content
およびjustify-content
プロパティによって引き伸ばすことができます。 従って既定では、トラックの寸法がauto
の場合、グリッドコンテナー内の残りの空間を占有します。
公式定義
初期値 | auto |
---|---|
適用対象 | グリッドコンテナー |
継承 | なし |
パーセント値 | コンテンツ領域の対応する寸法に対する相対値 |
計算値 | 指定されたパーセント値または絶対的な長さ |
アニメーションの種類 | 計算値の型による |
形式文法
grid-auto-rows =
<track-size>+
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> ) |
fit-content( <length-percentage [0,∞]> )
<track-breadth> =
<length-percentage [0,∞]> |
<flex [0,∞]> |
min-content |
max-content |
auto
<inflexible-breadth> =
<length-percentage [0,∞]> |
min-content |
max-content |
auto
<length-percentage> =
<length> |
<percentage>
例
グリッド行の寸法を設定
HTML
<div id="grid">
<div id="item1"></div>
<div id="item2"></div>
<div id="item3"></div>
</div>
CSS
#grid {
width: 200px;
display: grid;
grid-template-areas: "a a";
gap: 10px;
grid-auto-rows: 100px;
}
#grid > div {
background-color: lime;
}
結果
仕様書
Specification |
---|
CSS Grid Layout Module Level 2 # auto-tracks |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- 関連する CSS プロパティ:
grid-auto-columns
,grid-auto-flow
,grid
- グリッドレイアウトガイド: CSS グリッドレイアウトでの自動配置 - 暗黙のグリッド内での行の大きさ
- 動画チュートリアル: Introducing Grid auto-placement and order