Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

CSS Grid 筆記 07-Sizing Tracks in CSS Grid

目標

此篇介紹格線佈局中的 fr 此單位的使用,以及如何使用此單位來填滿格線佈局

Demo | Github

首先,來個預定情境如下,使用百分比來設定,但是由於設定了 gap 所以會造成設定溢出

1
2
3
4
5
.container {
display: grid;
grid-gap: 20px;
grid-template-columns: 25% 25% 25% 25%;
}

columns percent

加上邊框來觀察會更明顯

1
2
3
4
5
6
.container {
display: grid;
grid-gap: 20px;
border: 10px solid var(--yellow);
grid-template-columns: 25% 25% 25% 25%;
}

add border

這時候可以使用 fr 單位,此單位會自動計算表格中剩餘可以使用的空間,然後分配

1
2
3
4
5
6
.container {
display: grid;
grid-gap: 20px;
border: 10px solid var(--yellow);
grid-template-columns: 2fr 1fr 2fr 1fr;
}

fr demo

當然,除了 grid-template-columns 外,在 grid-template-rows 也可以使用 fr 單位;而另一個 auto 的設定則是會依照內容的大小去自動調整表格大小,可以觀看如下範例

1
2
3
4
5
.container {
display: grid;
grid-gap: 20px;
border: 10px solid var(--yellow);
grid-template-columns: auto 1fr auto 1fr;

auto content

筆記與備註事項

fr 單位

Tracks can be defined using any length unit.
資料來源 - MDN

參考資料

歡迎關注我的其它發布渠道