要深入了解auto-fill如何在 Grid 布局中应用,我们首先需要理解 Grid 布局的基本概念。Grid 布局是一种二维布局模型,通过将多个元素在一个“网格”中排列,来实现复杂的页面结构。auto-fill是 Grid 的一个属性,当我们使用时,它会自动填充创建的网格行或列,根据可用空间动态生成所需的列数与行数。这意味着设计师可以...
auto-fill 倾向于容纳更多的列,所以如果在满足宽度限制的前提下还有空间能容纳新列,那么它会暗中创建一些列来填充当前行。即使创建出来的列没有任何内容,但实际上还是占据了行的空间。auto-fit 倾向于使用最少列数占满当前行空间,浏览器先是和 auto-fill 一样,暗中创建一些列来填充多出来的行空间,然后坍缩...
}.grid-container--fit{grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); } 最后的显示效果如下图 在容器宽度是3200px的情况下,auto-fill为了塞入更多的列,列宽度控制在了 100px 左右;而auto-fit则是将现有的五列填满了容器空间。 参考资料:Auto-Sizing Columns in CSS Grid: 'auto-fill' vs ...
.container{display:grid;grid-template-columns:repeat(auto-fill, 100px);} 上面代码表示每列宽度100px,然后自动填充,直到容器不能放置更多的列。 除了auto-fill,还有一个关键字auto-fit,两者的行为基本是相同的。只有当容器足够宽,可以在一行容纳所有单元格,并且单元格宽度不固定的时候,才会有行为差异:auto-fill...
grid-template-columns:repeat(auto-fill,100px); } 上面代码表示每列宽度100px,然后自动填充,直到容器不能放置更多的列。 (3)fr 关键字 为了方便表示比例关系,网格布局提供了fr关键字(fraction 的缩写,意为"片段")。如果两列的宽度分别为1fr和2fr,就表示后者是前者的两倍。
我们来使用一下auto-fill 去掉容器的宽高,添加auto-fill后,可以看到如下图,会根据浏览器窗口的变化而改变布局。 代码语言:javascript 复制 .main{display:grid;border:10px solid skyblue;grid-template-columns:repeat(auto-fill,100px);grid-template-rows:100px 100px 100px 100px;} ...
这里涉及填充模式中的auto-fit和auto-fill的区别,auto-fit和auto-fill只有在容器宽度大于子元素的最小宽度总和时才有显示区别,例如容器随着窗口现在有1500px宽度,子元素在一行排列总共需要600px(不考虑gap)。 auto-fit和auto-fill首先会尽可能多的创建基于min的200px的轨道宽度,例如创建1500/200...
auto-fill: 表示自动填充,让一行(或者一列)中尽可能的容纳更多的单元格。grid-template-columns: repeat(auto-fill, 200px)表示列宽是 200 px,但列的数量是不固定的,只要浏览器能够容纳得下,就可以放置元素。fr: 片段,为了方便表示比例关系。grid-template-columns: 200px 1fr 2fr 表示第一个列宽设置为...
auto-fill:在一行中尽可能多地填入可能的列,即使它们是空的。 auto-fit:将所有的列装入空间。倾向于扩大列来填充空间,而不是空列。 这承担了所有CSS网格中最著名的片段,也是历史上最伟大的CSS技巧之一。 .container {display: grid;grid-auto-flow: column dense;grid-template-columns: repeat(4, [col] 1fr...
我们可以使用auto-fit和auto-fill属性来实现自适应布局。它们的作用是自动填充网格单元格,使网格项可以自动适应网格容器的大小。例如: 代码语言:css 复制 .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));} 这个代码可以实现自适应的网格布局,每个网格单元格的最小宽度为100px,最...