CSS Grid 布局中如何实现固定列数和自适应列宽?

css grid 布局中如何实现固定列数和自适应列宽?

css grid 布局疑难解答

css grid 布局中,遇到了一些问题,例如:

问题 1:

使用 repeat(auto-fill, 20%) 定义了网格列,希望一行显示 5 个方块,但无法实现。

问题 2:

使用 auto auto auto auto auto 定义了网格列,当方块数量不足 5 个时,方块的宽度会增加。

答案:

针对问题 1,我们可以使用 repeat() 函数指定列宽,并根据可用的宽度和列间距计算出合适的列数:

grid-template-columns: repeat(auto-fit, calc((100% - 4 * 20px) / 5));

对于问题 2,需要使用 minmax() 函数设置列宽,以确保列宽根据内容自适应,不会增加到超出可用空间:

grid-template-columns: minmax(auto, 1fr) repeat(4, minmax(auto, 1fr));

以上就是CSS Grid 布局中如何实现固定列数和自适应列宽?的详细内容,更多请关注其它相关文章!