--- title: minmax() slug: Web/CSS/minmax() tags: - CSS - CSS Function - CSS グリッドレイアウト - CSS 関数 - Experimental - Reference - ウェブ - レイアウト translation_of: Web/CSS/minmax() ---

minmax()CSS の関数で、寸法の範囲を min 以上、 max 以下で定義します。 CSS グリッドで使用されます。

{{EmbedInteractiveExample("pages/css/function-minmax.html")}}

構文

/* <inflexible-breadth>, <track-breadth> 値 */
minmax(200px, 1fr)
minmax(400px, 50%)
minmax(30%, 300px)
minmax(100px, max-content)
minmax(min-content, 400px)
minmax(max-content, auto)
minmax(auto, 300px)
minmax(min-content, auto)

/* <fixed-breadth>, <track-breadth> 値 */
minmax(200px, 1fr)
minmax(30%, 300px)
minmax(400px, 50%)
minmax(50%, min-content)
minmax(300px, max-content)
minmax(200px, auto)

/* <inflexible-breadth>, <fixed-breadth> 値 */
minmax(400px, 50%)
minmax(30%, 300px)
minmax(min-content, 200px)
minmax(max-content, 200px)
minmax(auto, 300px)

min および max の2つの引数を取る関数です。

どちらの引数も <length>, <percentage>, <flex>, またはキーワード値 max-content, min-content, auto のうちの一つを取ります。

もし minmax より大きい場合は無視され、 minmax(min,max)min として扱われます。最大値として、 {{cssxref("flex_value","<flex>")}} 値はグリッドトラックのフレックス係数を設定します。それは min としては無効です。

{{cssxref("<length>")}}
負ではない寸法。
{{cssxref("<percentage>")}}
負ではないパーセント値で、列グリッドトラックのグリッドコンテナーのインライン寸法、および行グリッドトラックのグリッドコンテナーのブロック寸法からの相対値。グリッドコンテナーの寸法がトラックの寸法に依存する場合、 <percentage>auto として扱う必要があります。{{glossary("user agent", "ユーザーエージェント")}}は、グリッドコンテナーの寸法に対するトラックの固有の寸法の貢献度を調整し、パーセント値を尊重して最小限の量だけトラックの最終的な寸法を増加させることがあります。
{{cssxref("<flex>")}}
単位 fr がついた負ではない寸法で、トラックのフレックス係数を指定します。それぞれの <flex> による寸法のトラックは、フレックス係数の割合に従って残りの空間を配分します。
max-content
グリッドトラックを占めるグリッドアイテムの max-content の貢献度の最大値を表します。
min-content
グリッドトラックを占めるグリッドアイテムの min-content の貢献度の最大値を表します。
auto
最大値としては、 max-content と同じです。最小値としては、グリッドトラックを占めるグリッドアイテムの ({{cssxref("min-width")}}/{{cssxref("min-height")}} で決定する) 最大の最小値を表します。

形式文法

{{csssyntax}}

CSS プロパティ

minmax() 関数は次の中で使用することができます。

CSS

#container {
  display: grid;
  grid-template-columns: minmax(min-content, 300px) minmax(200px, 1fr) 150px;
  grid-gap: 5px;
  box-sizing: border-box;
  height: 200px;
  width: 100%;
  background-color: #8cffa0;
  padding: 10px;
}

#container > div {
  background-color: #8ca0ff;
  padding: 5px;
}

HTML

<div id="container">
  <div>
    Item as wide as the content, but at most 300 pixels.
  </div>
  <div>
    Item with flexible width but a minimum of 200 pixels.
  </div>
  <div>
    Inflexible item of 150 pixels width.
  </div>
</div>

結果

{{EmbedLiveSample("Example", "100%", 200)}}

仕様書

仕様書 状態 備考
{{SpecName("CSS Grid", "#valdef-grid-template-columns-minmax", "minmax()")}} {{Spec2("CSS Grid")}} 初回定義

ブラウザーの互換性

{{Compat("css.properties.grid-template-columns.minmax")}}

関連情報