如何使卡列水平排序?

时间:2016-08-01 17:31:11

标签: css twitter-bootstrap bootstrap-4

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

对于内容加载多个项目的任何内容,此垂直排序似乎基本无用。如果我有50个项目,一些最不重要的项目将位于顶部!

我尝试使用flexbox进行了一些变化,但无法正常工作。有没有人有水平订购工作?

3 个答案:

答案 0 :(得分:9)

在这里找到一个很好的基本解决方案(不是直接用于引导),用css this method设置一个垂直或水平的砌体

我将进行测试,并提供反馈如何使用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 */
} 

答案 1 :(得分:7)

作为documented,CSS列的顺序是从上到下,然后从左到右,所以渲染列的顺序将是..

1  3  5
2  4  6

无法更改CSS列的顺序。建议您使用像砌体这样的其他解决方案。 https://github.com/twbs/bootstrap/issues/17882

答案 2 :(得分:3)

对我唯一有用的是集成“地砖”