首頁 > web前端 > css教學 > 如何在CSS網格中實現等寬列?

如何在CSS網格中實現等寬列?

Linda Hamilton
發布: 2024-11-05 10:22:02
原創
414 人瀏覽過

How to Achieve Equal-Width Columns in CSS Grid?

CSS 網格中的等寬列

Flexbox 因其在等寬列中顯示項目的能力而獲得認可。然而,CSS Grid 也提供了靈活的佈局選項,這提出瞭如何實現相同效果的問題。

提供的 HTML 結構包括一個 row 元素和多個子 item 元素。目標是將這些項目均勻分佈在行中,無論存在多少項目。

建議 CSS 網格的常見解決方案是使用重複(3, 1fr)。雖然這部分達到了預期的效果,但當內容超過軌道大小時,它可能會失敗。這是因為 1fr 表示可用空間的分佈,並不能保證在所有情況下列寬相等。

為了確保完全相等,應使用以下 CSS 程式碼:

<code class="css">grid-template-columns: repeat(3, minmax(0, 1fr));</code>
登入後複製

minmax(0, 1fr) 將網格軌跡限制為最小尺寸 0 和最大尺寸 1fr。這可以確保即使內容溢出,所有列也將保持相同的寬度。

下面是一個例子來說明重複(3, 1fr)和重複(3, minmax(0, 1fr))之間的區別:

<code class="html"><div class="container">
  <div class="row" style="grid-template-columns: repeat(3, 1fr)">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item overflow">Very long text that overflows the column</div>
  </div>

  <div class="row" style="grid-template-columns: repeat(3, minmax(0, 1fr))">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item overflow">Very long text that overflows the column</div>
  </div>
</div></code>
登入後複製

使用repeat(3, 1fr ),溢出的項目將脫離其列。相較之下,repeat(3, minmax(0, 1fr)) 確保所有欄位保持相等,溢出內容在下面可見。

以上是如何在CSS網格中實現等寬列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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