html - 按特定顺序显示列中的元素

标签 html css

我有一些不同高度的元素,我需要按以下顺序在 2 列上对齐:

1,2
3,4
5,6

我需要 div“相互接触”,这意味着无论 #2 的大小如何,#1 的底部都应该接触到#3 的顶部。

到目前为止,我试过这样做:

HTML

<div class="block block--1">1</div>
<div class="block block--2">2</div>
<div class="block block--3">3</div>
<div class="block block--4">4</div>
<div class="block block--5">5</div>
<div class="block block--6">6</div>

CSS:

.block {
    display: inline-block;
    float: left;
    width: 50%;
}
.block:nth-child(odd) {
    clear: left;
}
.block--1 {
    background: red;
    height: 100px;
}
.block--2 {
    background: blue;
    height: 150px;
}
.block--3 {
    background: yellow;
    height: 200px;
}
.block--4 {
    background: green;
    height: 100px;
}
.block--5 {
    background: grey;
    height: 200px;
}
.block--6 {
    background: orange;
    height: 300px;
}

但这不起作用,因为 #3 没有触及 #1。你可以在这里看到它:http://jsfiddle.net/oynrv880/1/

我也尝试过使用 column-count 属性,但它显示元素顺序错误。

我该怎么做?

非常感谢!

最佳答案

在不修改 HTML 的情况下,最接近的可能是这样的:

可以让奇数左浮,偶数右浮,清空各自的边。

div {
    width: 50%;
    float: left;
    clear: left;
}
div:nth-child(even) {
    float: right;
    clear: right;
}

JSFiddle

关于html - 按特定顺序显示列中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32965629/

相关文章:

html - :hover:before does not work with a link

html - Bootstrap 样式设计到表

html - Google Chrome 开发者工具显示浏览器默认字体大小为 18 像素?

javascript - jQuery使div自定义滚动条始终可见

javascript - jQuery 等高列 - 列间歇性地打破 DOM 之外

javascript - 没有setTimeout的CSS连续旋转

javascript - 具有多种宽度列的同位素砌体

javascript - 使用 Jquery 按子项中存在的编号排序父项

javascript - 绘制图像轮廓的最佳实践

html - CSS:背景图像/颜色和容器不会在移动设备上拉伸(stretch)全宽