我有一个div是“display:grid”。
<div>
<article>article1</article>
<article>article2</article>
<article>article3</article>
<article>article4</article>
<article>article5</article>
<article>article6</article>
...
</div>
我想有这样的具体布局:
我使用6个grid-template-columns来使它工作,但我担心的是,当有超过10篇文章时,例如,第11篇文章将是1/6宽,因为网格只有5个grid-template-rows:
如果有几十篇文章,那么如何实现这种布局(一行无限3篇文章),并且不知道所需的行数,并保持原始结构(一个包含文章子级的网格div)?
谢谢你的帮助。
1条答案
按热度按时间ndh0cuux1#
可以通过使用一个6列宽的网格,然后使用grid-column来让子元素适合网格子元素在正确的位置来实现这一点。要选择哪些网格项适合哪个元素,然后使用
nth-child
来选择正确的元素,如下所示:编辑新增:我注意到在小屏幕宽度时,
1fr
单元不能均匀地缩放列,所以我通过将grid-template-columns
从repeat(6, 1fr)
更改为repeat(6, minmax(0,1fr))
来解决这个问题。