試一試
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: rgb(0 0 255 / 0.2);
border: 3px solid blue;
text-align: left;
}
語法
css
/* <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)
一個接受兩個引數 min 和 max 的函式。
每個引數都可以是 <length>、<percentage>、<flex> 值,或者是關鍵字值 max-content、min-content 或 auto 之一。
如果 max < min,則 max 被忽略,minmax(min,max) 被視為 min。作為最大值,<flex> 值設定網格軌道(grid track)的彈性因子;它不能作為最小值。
值
<length>-
一個非負的長度。
<percentage>-
一個非負的百分比,在列網格軌道中相對於網格容器的行內尺寸,在行網格軌道中相對於網格容器的塊尺寸。如果網格容器的尺寸取決於其軌道的尺寸,則
<percentage>必須被視為auto。使用者代理可以調整軌道對網格容器尺寸的固有尺寸貢獻,並透過最小量增加軌道的最終尺寸,以實現百分比。 <flex>-
一個帶有
fr單位的非負尺寸,指定軌道的彈性因子。每個<flex>尺寸的軌道根據其彈性因子按比例分配剩餘空間。 max-content-
表示佔據網格項的網格項的最大內容貢獻。
min-content-
表示佔據網格項的網格項的最小內容貢獻。
auto-
作為
min,它表示佔據網格軌道的網格項的最大最小尺寸(由min-width/min-height指定)。作為max,它與max-content相同。然而,與max-content不同,它允許透過align-content和justify-content屬性值(如normal和stretch)來擴充套件軌道。
正式語法
<minmax()> =
minmax( min , max )
CSS 屬性
minmax() 函式可用於
示例
CSS
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
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>
結果
規範
| 規範 |
|---|
| CSS 網格佈局模組 Level 2 # funcdef-grid-template-columns-minmax |
瀏覽器相容性
載入中…