Flexbox - 在旧设备上进行flex-wrap

时间:2013-11-27 11:59:00

标签: html css css3 flexbox

我使用flexbox创建了一个2列布局,顶部有一个div,跨越两列(我将其用于菜单布局)。以下小提琴展示了我是如何实现这一目标的。不幸的是,虽然它在Chrome / iOS 7中完美运行,但它似乎不适用于旧版本的Safari。 http://jsfiddle.net/Jtts9/

我不需要支持IE,但确实需要支持Android / iOS。这在Chrome和iOS7中正确显示,但是当我使用旧语法(例如display: -webkit-box;)时,我无法复制这两列,因为旧语法中似乎不存在flex-flow: row wrap。我看过一些对box-lines的引用,但听起来不支持。

在使用旧的2009 flexbox语法时,我将如何实现相同的外观?

1 个答案:

答案 0 :(得分:2)

我最后放弃了旧的flexbox语法,并使用了float和伪选择器。

与原始问题相比,这个小提示显示了解决方案。

http://jsfiddle.net/HQPKM/7/

我所做的是将float: left应用于所有项目,然后使用以下内容:

.item2 :nth-child(2){
    float: right;
}

将每个第二个元素浮动到右边。

此外,为了在存在奇数项目时复制flexbox的行为,我添加了以下规则:

.item2:last-child:not(:nth-child(odd)){
    width: calc(100% - 2px);
}

如果存在奇数个框,则最后一个框会跨越整个宽度。