minmax()
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.
Die minmax()
CSS-Funktion definiert einen Größenbereich, der größer oder gleich min und kleiner oder gleich max ist. Sie wird mit CSS-Grids verwendet.
Probieren Sie es aus
grid-template-columns: minmax(20px, auto) 1fr 1fr;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
grid-template-columns: minmax(2ch, 10ch) 1fr 1fr;
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One. This column has more text in it.</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-gap: 10px;
width: 250px;
}
#example-element > div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
text-align: left;
}
Syntax
/* <inflexible-breadth>, <track-breadth> values */
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> values */
minmax(200px, 1fr)
minmax(30%, 300px)
minmax(400px, 50%)
minmax(50%, min-content)
minmax(300px, max-content)
minmax(200px, auto)
/* <inflexible-breadth>, <fixed-breadth> values */
minmax(400px, 50%)
minmax(30%, 300px)
minmax(min-content, 200px)
minmax(max-content, 200px)
minmax(auto, 300px)
Eine Funktion, die zwei Parameter annimmt, min und max.
Jeder Parameter kann eine <length>
, ein <percentage>
, ein <flex>
-Wert oder einer der Schlüsselwortwerte max-content
, min-content
oder auto
sein.
Wenn max < min ist, wird max ignoriert und minmax(min,max)
wird als min behandelt. Als Maximum setzt ein <flex>
-Wert den Flex-Faktor einer Grid-Spur; es ist als Minimum ungültig.
Werte
<length>
-
Eine nicht-negative Länge.
<percentage>
-
Ein nicht-negativer Prozentsatz bezogen auf die Inline-Größe des Grid-Containers in Spaltengitterspuren und die Blockgröße des Grid-Containers in Zeilengitterspuren. Wenn die Größe des Grid-Containers von der Größe seiner Spuren abhängt, muss das
<percentage>
alsauto
behandelt werden. Der User-Agent kann die intrinsischen Beitragsgrößen der Spur zur Größe des Grid-Containers anpassen und die endgültige Größe der Spur um den minimalen Betrag erhöhen, der erforderlich ist, um den Prozentsatz zu erfüllen. <flex>
-
Eine nicht-negative Dimension mit der Einheit
fr
, die den Flex-Faktor der Spur angibt. Jede<flex>
-dimensionierte Spur erhält einen Anteil des verbleibenden Raums im Verhältnis zu ihrem Flex-Faktor. max-content
-
Repräsentiert den größten Max-Content-Beitrag der Grid-Elemente, die die Grid-Spur belegen.
min-content
-
Repräsentiert den größten Min-Content-Beitrag der Grid-Elemente, die die Grid-Spur belegen.
auto
-
Als
min
repräsentiert es die größte Mindestgröße (wie durchmin-width
/min-height
angegeben) der Grid-Elemente, die die Grid-Spur belegen. Alsmax
ist es identisch mitmax-content
. Im Gegensatz zumax-content
erlaubt es jedoch die Erweiterung der Spur durch die Eigenschaftenalign-content
undjustify-content
mit Werten wienormal
undstretch
.
Formale Syntax
<minmax()> =
minmax( min , max )
CSS-Eigenschaften
Die minmax()
-Funktion kann innerhalb verwendet werden:
Beispiele
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>
Ergebnis
Spezifikationen
Specification |
---|
CSS Grid Layout Module Level 2 # funcdef-grid-template-columns-minmax |