Html 行中的项目之间没有额外的间距

Html 行中的项目之间没有额外的间距,html,css,flexbox,Html,Css,Flexbox,因此,我使用新的flexbox CSS模块尝试创建两列框 目标: 框必须按左右etc顺序排列,而不是按列顺序排列(需要行) 箱子可以有不同的高度 框之间不应有垂直间距,除非通过css指定 除了那张单子上的最后一张外,我已经完成了所有的工作。无论我做什么,如果一行中的一个项目比另一行高,它不可避免地会向下推下下一行中的项目。我不希望出现这种行为,再说一次,使用列而不是行不是一个选项 以下是一些您可以使用的简化标记: HTML: 在此示例中,列中项目之间的间距不得超过10px 这里有一把JS小提琴供

因此,我使用新的flexbox CSS模块尝试创建两列框

目标: 框必须按左右etc顺序排列,而不是按列顺序排列(需要行) 箱子可以有不同的高度 框之间不应有垂直间距,除非通过css指定

除了那张单子上的最后一张外,我已经完成了所有的工作。无论我做什么,如果一行中的一个项目比另一行高,它不可避免地会向下推下下一行中的项目。我不希望出现这种行为,再说一次,使用列而不是行不是一个选项

以下是一些您可以使用的简化标记:

HTML:

在此示例中,列中项目之间的间距不得超过10px

这里有一把JS小提琴供你们玩:


请注意列中项目之间的额外垂直间距。

解决方案?停止使用flexbox

只需使用交替浮动。第一个框将第二个框和第二个框浮动到右侧,第二个框将第一个框和第二个框浮动到左侧。问题解决了

.block:nth-child(2n+2) {

    // POSITIONING
    float: right;
}

.block:nth-child(2n+1) {

    // POSITIONING
    float: left;
}

工作JS小提琴:

解决方案?停止使用flexbox

只需使用交替浮动。第一个框将第二个框和第二个框浮动到右侧,第二个框将第一个框和第二个框浮动到左侧。问题解决了

.block:nth-child(2n+2) {

    // POSITIONING
    float: right;
}

.block:nth-child(2n+1) {

    // POSITIONING
    float: left;
}

工作JS Fiddle:

请查看此链接,这可能对您没有帮助,没有jQuery插件或CSS解决方案以外的任何东西。这已经在一个相当复杂的AngularJS实现上运行,不需要大量的第三方插件。对不起:)可能重复的有一看这个链接可能是这可以帮助你没有jQuery插件或任何其他CSS解决方案请。这已经在一个相当复杂的AngularJS实现上运行,不需要大量的第三方插件。对不起:)可能是重复的
.block:nth-child(2n+2) {

    // POSITIONING
    float: right;
}

.block:nth-child(2n+1) {

    // POSITIONING
    float: left;
}