响应式 div 列,其中列项目在屏幕调整大小时移动

Responsive div columns where column items get shifted on screen resize

我有三列名为 <div class="pageColumnOneThird">

在每一列中,我使用 PHP 获取图像和帖子,其中最新的项目放在 top left column 中,下一个放在 top middle column 中,第三个放在 top right column,然后再回到 left column

现在我试图让它响应,这样当显示两列时,每个 image/post 的位置都会改变。

示例: 当只有两列并排时,我需要第一行的项目是元素 1 和 2。然后第二行必须是元素3 和 4.

有什么方法可以使用 CSS 来做到这一点吗?

如果没有,是否有任何快速 jQuery 代码可以为我做这件事?

代码

<!-- FIRST COLUMN -->
<div class="pageColumnOneThird">
    <div class="itemWrap">Element 1</div>
    <div class="itemWrap">Element 4</div>
    <div class="itemWrap">Element 7</div>
</div>
<!-- SECOND COLUMN -->
<div class="pageColumnOneThird">
    <div class="itemWrap">Element 2</div>
    <div class="itemWrap">Element 5</div>
    <div class="itemWrap">Element 8</div>
</div>
<!-- THIRD COLUMN -->
<div class="pageColumnOneThird">
    <div class="itemWrap">Element 3</div>
    <div class="itemWrap">Element 6</div>
    <div class="itemWrap">Element 9</div>
</div>

这里还有一个jsfiddle

你可以简单地使用一个包装器,然后只使用@media 查询

.pageColumnOneThird {
  font-size: 0;
}
.itemWrap {
  background-color: #AEAEAE;
  margin: 2px 0;
  width: 33.3%;
  padding: 0 1px;
  height: auto;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  font-size: 16px
}
@media (max-width: 768px) {
  .itemWrap {
    width: 50%
  }
}
@media (max-width: 480px) {
  .itemWrap {
    width: 100%
  }
}
<div class="pageColumnOneThird">
  <div class="itemWrap">Element 1</div>
  <div class="itemWrap">Element 2</div>
  <div class="itemWrap">Element 3</div>
  <div class="itemWrap">Element 4</div>
  <div class="itemWrap">Element 5</div>
  <div class="itemWrap">Element 6</div>
  <div class="itemWrap">Element 7</div>
  <div class="itemWrap">Element 8</div>
  <div class="itemWrap">Element 9</div>
</div>

编辑 根据 OP 评论:

This is not what I am looking for as I need to be allowed different heights on each item element, but maintain equal margin WITHOUT adding empty space in the elements. Thats why I need to use three separate columns. Found a picture of what I need https://prod-foundation-forum.s3.amazonaws.com/uploads/part/part_image/93067/illustration.jpg

对于这种类型的布局,最适合您的是 masonry