简介
在 CSS Grid 网格布局中,引入了一种新的长度单位 fr(fraction)
。它示意 Grid 布局中中残余空间(leftover space)的一部分(fraction)。
一般来说 1fr
的意思是“100%的残余空间”, .25fr
意味着“25%的残余空间”。过后当 fr
大于 1 的时候,则会从新计算比例来调配。咱们能够看上面的具体例子。
用法
1. 均分残余空间
首先咱们先建设如下的网格布局
<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 四块进行均分,咱们能够用 grid-template-columns: repeat(4, 1fr)
这里的和 grid-template-columns: repeat(4, .25fr)
成果是一样的。.25
来自于 100%/4=25%
。
个别都倡议应用 fr>=1
的状况, 比如说 1fr 2fr
就比 .33fr .67fr
可读性更强。
实现成果如下:
.grid-container { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 10px;}
2. 和其余单位混合应用
在 grid 布局中,有时候咱们须要固定某些列的长度,能够用以下办法,这里 A
和 D
都是固定的 50px
,C
是占总宽度的 20%
,残余空间就能够调配给 B
。
这种状况,在设计响应式布局的时候十分有用。
.grid-container { grid-template-columns: 50px 1fr 20% 50px; column-gap: 10px;}