Javascript 可跨越多个柱的砌体布局

Javascript 可跨越多个柱的砌体布局,javascript,html,css,Javascript,Html,Css,我正在尝试创建一个砖石布局,它也可以跨越一个项目超过两列。到目前为止,我觉得这是一个很好的开始。看看: .wrapper{ 显示:网格; 栅隙:20px; 网格模板列:重复(自动填充,最小值(250px,1fr)); 网格自动行:5px; 最大宽度:600px; 保证金:0自动; } .包装部{ 背景:红色; } .二{ 格构柱端部:跨度2; } 拉斐拉·费罗(Rafaela Ferro)写了一篇文章,详细介绍了如何使用CSS网格创建砖石风格的布局,该布局具有极大的灵活性 按照@Paul

我正在尝试创建一个砖石布局,它也可以跨越一个项目超过两列。到目前为止,我觉得这是一个很好的开始。看看:

.wrapper{
显示:网格;
栅隙:20px;
网格模板列:重复(自动填充,最小值(250px,1fr));
网格自动行:5px;
最大宽度:600px;
保证金:0自动;
}
.包装部{
背景:红色;
}  
.二{
格构柱端部:跨度2;
}

拉斐拉·费罗(Rafaela Ferro)写了一篇文章,详细介绍了如何使用CSS网格创建砖石风格的布局,该布局具有极大的灵活性

按照@Paulie_D的建议,使用
网格自动流动:稠密
将告诉网格填充非均匀布局产生的任何孔。但是,由于你如何设置你的身高,仍然会出现一些差距

.wrapper{
显示:网格;
栅隙:20px;
网格模板列:重复(自动填充,最小值(250px,1fr));
网格自动行:5px;
最大宽度:600px;
保证金:0自动;
网格自动流动:稠密;
}
.包装部{
背景:红色;
}  
.二{
格构柱端部:跨度2;
}

拉斐拉·费罗(Rafaela Ferro)写了一篇文章,详细介绍了如何使用CSS网格创建砖石风格的布局,该布局具有极大的灵活性

按照@Paulie_D的建议,使用
网格自动流动:稠密
将告诉网格填充非均匀布局产生的任何孔。但是,由于你如何设置你的身高,仍然会出现一些差距

.wrapper{
显示:网格;
栅隙:20px;
网格模板列:重复(自动填充,最小值(250px,1fr));
网格自动行:5px;
最大宽度:600px;
保证金:0自动;
网格自动流动:稠密;
}
.包装部{
背景:红色;
}  
.二{
格构柱端部:跨度2;
}


@Paulie\u D我正要发布一个关于这个问题的答案。你想把你的评论变成一个答案吗?@Paulie\u D内联样式强制物品保持一定高度。“我必须这样做才能实现砖石结构的布局。”Paulie_当然可以,但高度与此无关。试一试,如果你能让它工作,请分享小提琴。@Paulie\u D我没有使用massy.js。我只是想复制那种布局。我将行数设置为5px,以减少元素之间产生的垂直间距。在这里-我怀疑这是一个骗局,看起来确实如此,但我投了决定性一票,想推迟。@Paulie_D我正要发布一个关于这个问题的答案。你想把你的评论变成一个答案吗?@Paulie\u D内联样式强制物品保持一定高度。“我必须这样做才能实现砖石结构的布局。”Paulie_当然可以,但高度与此无关。试一试,如果你能让它工作,请分享小提琴。@Paulie\u D我没有使用massy.js。我只是想复制那种布局。我将行数设置为5px,以减少元素之间产生的垂直间距。这里-我怀疑这是一个骗局,看起来确实如此,但我投了决定性的一票,想推迟。史蒂文,你能为你的意思创建一个工作示例吗?如果您希望切换到使用高度使其工作,请这样做。我不打算以任何特定的方式拥有它。这就是我试图找出一种方法使我想要的工作。CSS网格不能产生真正的砖石布局,因为网格行必须是统一的。根据需要,可以使用相同高度的网格项来获得足够好的砌体布局。或者可以像本文一样改变高度/宽度,以创建有趣的网格布局,但仍然不是真正的砖石结构。这或您必须保证,对于每个
span 3
网格项,您最终有一个等于
span 3
的网格项(因此一个
span 2
和一个
span 1
或三个
span 1
)。这样所有的空白都会被填满。添加
网格自动流:稠密到我的项目似乎产生的结果正是我所期待的。然而,现在我想知道的高度。我使用
网格行结束
使列跨越一定高度,但有没有办法不使用它?看,我的高度是动态的,所以我不知道每个街区最终会有多高。这就是为什么我有javascript来计算它,并为它指定正确的跨度大小。没有这个我怎么办?啊,没关系,我错了。当它排到4行或5行时,它又开始有间隙了。史蒂文,你能为你的意思创建一个工作示例吗?如果您希望切换到使用高度使其工作,请这样做。我不打算以任何特定的方式拥有它。这就是我试图找出一种方法使我想要的工作。CSS网格不能产生真正的砖石布局,因为网格行必须是统一的。根据需要,可以使用相同高度的网格项来获得足够好的砌体布局。或者可以像本文一样改变高度/宽度,以创建有趣的网格布局,但仍然不是真正的砖石结构。这或您必须保证,对于每个
span 3
网格项,您最终有一个等于
span 3
的网格项(因此一个
span 2
和一个
span 1
或三个
span 1
)。这样所有的空白都会被填满。添加
网格自动流:稠密到我的项目似乎产生的结果正是我所期待的。然而,现在我想知道的高度。我使用
网格行结束
使列跨越一定高度,但有没有办法不使用它?看,我的高度是动态的,所以我不知道每个街区最终会有多高。这就是为什么我有javascript来计算它,并为它指定正确的跨度大小。没有这个我怎么办?啊,没关系,我错了。当它移动到4或5行时,它又开始有间隙。