【发布时间】:2013-03-26 21:28:06
【问题描述】:
这是我的问题,我有一个 3 列设计,类似于 Pinterest,但是我不喜欢它们的显示顺序。
查看此演示:My Demo
如您所见,文章是这样显示的
1 3 5
2 4 6
我希望它们像这样显示:
1 2 3
4 5 6
我知道我可以通过更改标记来实现,但问题是所有内容都将从数据库中一个一个地调用,因此需要逐条地对其进行排序,因此需要以与标记中相同的方式进行排序,只是在页面上显示不同:
HTML
<div class="page-wrap main">
<div class="grid">
<article class="box article">
<header class="clearfix">
1
</header>
</article>
<article class="box article">
<header class="clearfix">
2
</header>
</article>
<article class="box article">
<header class="clearfix">
3
</header>
</article>
<article class="box article">
<header class="clearfix">
4
</header>
</article>
<article class="box article">
<header class="clearfix">
5
</header>
</article>
<article class="box article">
<header class="clearfix">
6
</header>
</article>
</div> <!-- END .grid (Content) -->
</div> <!-- END .page-wrap (Content) -->
CSS
body {
background-color: #ebebeb;
}
.page-wrap {
width: 90%;
max-width: 1280px;
margin: 0 5%;
}
.grid {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
-webkit-column-fill: auto;
-moz-column-fill: auto;
column-fill: auto;
}
.box {
display: inline-block;
-webkit-column-break-inside: avoid;
-moz-column-break-inside: avoid;
column-break-inside: avoid;
padding: 1px;
width: 100%;
}
.article {
background-color: #ffffff;
margin-top: 20px;
}
【问题讨论】:
-
我也遇到过同样的问题,一般的反应是它不是很容易..
-
@BillyMathews 但有可能对吧?
-
一切皆有可能;P
-
@BillyMathews ;D 有没有机会获得一些可以帮助解决这个问题的参考资料?
-
抱歉,这是不久前的事了,我不记得任何答案——我认为一个是插件。但是我可以告诉你,仅靠 CSS 是无法实现的。也许您可以想出某种算法来重新排列服务器端的内容(如果您确切知道一列中有多少帖子)?