用户登录

设置网格的 column 还有 row 的时候可以使用任意的长度单位,比如之前我们用的是像素这种单位。你也可以使用 em,或者百分比。另外还可以使用一种叫 fr 的单位,fr 表示 fraction ,就是分数。下面我们来理解一下这种长度单位。

比如设置一下这个网格的 column,栏数仍然是三栏,第一栏的宽度设置成 1fr ,第二栏是 5fr ,第三栏设置成 1fr。 得到的就是一个这样的网格。

这个 fr 设置的就是网格的 column 或者 row,在网格里占的分数,所以具体的值是相对于网格容器的宽度还有高度决定的。

这里我们把这个网格分成了三栏,第一栏是 1fr,第二栏是 5fr,第三栏是 1fr, 意思就是把网格容器的宽度分成一定的份数,这里就是分成了 7 份,因为 1 + 5 + 1 结果是 7。每一栏可以占用其中的一小部分,第一栏占了 7 份中的 1 份,第二栏占用了 7 份中的 5 份,第三栏占用了 7 份中的 1 份。

也就是第一栏的宽度就是网格容器宽度的 1/7,第二栏的宽度是网格容器宽度的 5/7 ,第三栏的宽度是网络容器宽度的 1/7 。

下面我们可以验证一下,打开浏览器的开发者工具。然后打开 Element 选项卡,选中页面上的这个网格容器,然后观察一下它的宽度,我这里显示这个容器的宽度是 647。 然后再选中第一栏上的一个单元格,显示这个容器的宽度是 92.42 。

第一栏的宽度应该是容器宽度的 1/7 ,打开计算器,可以算一下,1 / 7 ,然后乘以容器的宽度,647,你会发现,结果就是 92.42。

再试一下,选中第二栏上的一个容器,我这里显示这个容器的宽度是 462.14 ,这一栏的宽度设置的是 5fr,它的宽度 应该是网格容器宽度的 5/7 ,用 5 / 7 ,然后乘以网格容器的宽度 647,结果就是 462.14 。

回到编辑器,这里可以再修改一下 grid-auto-rows 这个属性的值,现在用的是一个像素单位,这里我们把它换成 fr ,大小是 1 fr,意思就是让网格里的 row ,等分网格容器的高度。

我们可以再设置一下这个网格容器的高度,可以设置成 100vh,意思就是让这个容器的高度占满整个可视窗口的高度。

理解网格的 fr(fraction) 单位《 CSS:网格布局 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点