首頁 > web前端 > css教學 > 為什麼 CSS Grid 中的 `minmax()` 預設為 `max` 而不是 `min`?

為什麼 CSS Grid 中的 `minmax()` 預設為 `max` 而不是 `min`?

Patricia Arquette
發布: 2024-12-18 21:15:14
原創
254 人瀏覽過

Why Does `minmax()` in CSS Grid Default to `max` Instead of `min`?

為什麼minmax() 預設為Max

您可能已經注意到,當使用minmax() 設定網格行或列的高度或寬度時,預設行為是讓軌道擴展至其最大尺寸而不是保持其最小尺寸。這可能會令人困惑,特別是如果您希望軌道根據 minmax() 中的 min() 值保持盡可能小的大小。

理解行為

原因此行為在於網格佈局中軌道的預設縮放模式。根據 CSS 規範,軌道通常會成長以填滿可用空間,直到達到最大尺寸。如果可用空間大於所有軌道的總最小大小,則剩餘空間將均勻分佈在無限軌道(沒有定義最大大小的軌道)中。

通常需要這種預設行為,因為它確保軌道有效地佔用可用空間。

實現最小尺寸優先權

將網格行或列保持最小尺寸,但當更多時擴展到最大尺寸添加內容後,您可以結合使用minmax() 和其他CSS屬性:

  • 使用minmax(min-size, min-size)調整行/列大小:這將迫使軌道始終保持最小尺寸,即使有可用空間。
  • 指定max-width/max-height網格項目:這將防止網格項超過其最大大小,確保網格行或列不會擴展超過其指定的最大大小。

範例:

body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 100px));
  grid-gap: 20px;
}

.item {
  max-width: 200px;
}
登入後複製

在此範例中,網格列的最小寬度始終為 100 像素,但不會超出該寬度 尺寸。如果在網格項目中添加更多內容,則列將擴展以容納新內容,但不會超過其最大寬度。

以上是為什麼 CSS Grid 中的 `minmax()` 預設為 `max` 而不是 `min`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板