介紹 CSS 中的長(zhǎng)度單位 fr

簡(jiǎn)介

在 CSS Grid 網(wǎng)格布局中,引入了一種新的長(zhǎng)度單位 fr(fraction)。它表示 Grid 布局中中剩余空間(leftover space)的一部分(fraction)。
一般來說 1fr 的意思是“100%的剩余空間”, .25fr 意味著“25%的剩余空間”。當(dāng)時(shí)當(dāng) fr 大于 1 的時(shí)候,則會(huì)重新計(jì)算比例來分配。我們可以看下面的詳細(xì)例子。

用法

1. 均分剩余空間

首先我們先建立如下的網(wǎng)格布局

<div class="grid-container">
  <div class="A">A</div>
  <div class="B">B</div>
  <div class="C">C</div>
  <div class="D">D</div>
</div>

然后將 ABCD 四塊進(jìn)行均分,我們可以用 grid-template-columns: repeat(4, 1fr) 這里的和 grid-template-columns: repeat(4, .25fr) 效果是一樣的。.25 來自于 100%/4=25%

一般都建議使用 fr>=1 的情況, 比如說 1fr 2fr 就比 .33fr .67fr 可讀性更強(qiáng)。

實(shí)現(xiàn)效果如下:

.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 10px;
}
css-fr.png

2. 和其他單位混合使用

在 grid 布局中,有時(shí)候我們需要固定某些列的長(zhǎng)度,可以用以下方法,這里 AD 都是固定的 50px,C 是占總寬度的 20%,剩余空間就可以分配給 B。
這種情況,在設(shè)計(jì)響應(yīng)式布局的時(shí)候非常有用。

.grid-container {
  grid-template-columns: 50px 1fr 20% 50px;
  column-gap: 10px;
}
css-fr-mix.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • CSS Grid Layout是CSS為布局新增的一個(gè)網(wǎng)格布局的模塊,網(wǎng)格布局主要針對(duì)Web應(yīng)用程序開發(fā)。 Fle...
    JunChow520閱讀 338評(píng)論 0 1
  • 何為布局 此處說的布局是對(duì)HTML界面元素的布局,也就是對(duì)網(wǎng)頁(yè)中的元素進(jìn)行位置上的安排。那么我們?yōu)槭裁葱枰季趾腿?..
    張中華閱讀 536評(píng)論 0 5
  • 在這篇文章中,我將教你如何使用 CSS Grid 來創(chuàng)建一個(gè)超酷的圖像網(wǎng)格圖,它將根據(jù)屏幕的寬度來改變列的數(shù)量。最...
    頭不禿的程序員閱讀 597評(píng)論 0 1
  • https://juejin.im/post/5d2d7a67f265da1bb5652b91 從常見的浮動(dòng)到表格...
    逆風(fēng)飄游的魚閱讀 371評(píng)論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,879評(píng)論 28 54

友情鏈接更多精彩內(nèi)容