grid-template-rows:repeat(auto-fill,80px)能否替代grid-auto-rows:80px?
能不能用
grid-template-rows: repeat(auto-fill, 80px);替代grid-auto-rows: 80px;? 答案是不行,两者的作用逻辑完全不同,没法直接替代,具体区别如下:
grid-auto-rows: 80px;的作用是:当网格内容超出你用grid-template-rows定义的显式行数量时,自动创建的新行(隐式行)会使用这个高度。你当前代码里grid-template-rows: 80px;只定义了1行显式行,后续动态添加内容时,超出的部分会自动生成80px高的新行,刚好满足“根据内容自动加行”的需求。grid-template-rows: repeat(auto-fill, 80px);的作用是:根据网格容器的高度,尽可能多地创建高度为80px的显式行。比如容器高度是200px,最多只能生成2行(80*2=160px,剩余40px不够再放一行),如果后续动态添加的内容超过2行,超出部分会溢出网格容器或被强制压缩,不会自动生成新行——这完全不符合你需要的“随内容动态加行”的效果。
简单说,grid-auto-rows是为超出显式网格的内容兜底,而repeat(auto-fill)是基于容器尺寸预先创建固定数量的行,两者解决的是完全不同的场景问题。
内容的提问来源于stack exchange,提问作者Ole
相关产品推荐
相关产品推荐

