如何使卡片列水平排列?

新手上路,请多包涵

我有一个智能滚动卡片列表,虽然我喜欢 card-columns 的外观,但它从上到下排序非常令人沮丧,如下所示: 1 4 7 2 5 8 3 6 9

对于内容加载的项目超过几个的任何内容,这种垂直排序似乎基本上没有用。如果我有 50 个项目,那么一些最不重要的项目将位于顶部!

我尝试了一些使用 flexbox 的变体,但没有任何效果。有没有人有水平排序工作?

原文由 thouliha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 915
2 个回答

文档 所述,CSS 列的顺序是从上到下,然后从左到右,因此渲染列的顺序将是..

 1  3  5
2  4  6

无法更改 CSS 列的顺序。建议您使用其他解决方案,例如 Masonry。 https://github.com/twbs/bootstrap/issues/17882

原文由 Zim 发布,翻译遵循 CC BY-SA 3.0 许可协议

在这里找到了一个很好的基本解决方案(不是直接用于引导程序)使用 css http://w3bits.com/flexbox-masonry/ 设置垂直或水平的砌体

我将进行测试并反馈如何使用 bootstrap 4。

水平使用

 .masonry {
  display: flex;
  flex-flow: row wrap;
  margin-left: -8px; /* Adjustment for the gutter */
}

.masonry-brick {
  flex: auto;
  height: 250px;
  min-width: 150px;
  margin: 0 8px 8px 0; /* Some gutter */
}
.masonry-brick {
  &:nth-child(4n+1){
     width: 250px;
  }
  &:nth-child(4n+2){
     width: 325px;
  }
  &:nth-child(4n+3){
     width: 180px;
  }
  &:nth-child(4n+4){
     width: 380px;
  }
}

垂直使用

 .masonry {
  display: flex;
  flex-flow: column wrap;
  max-height: 800px;
  margin-left: -8px; /* Adjustment for the gutter */
}

.masonry-brick {
  margin: 0 8px 8px 0; /* Some gutter */
}

原文由 karadayi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题