2015-11-03 124 views

回答

10

您可能需要考虑Safari浏览器对flexbox的支持。

尽管Safari 9支持所有标准的flex属性,但对于Safari 8及更高版本,您需要使用供应商前缀。

做此调整来代码:

.container { 
    list-style: none; 
    margin: 0; 
    padding: 0; 
    display: -webkit-flex; /* NEW */ 
    display: flex; 
    -webkit-flex-wrap: wrap; /* NEW */ 
    flex-wrap: wrap; 
    font-family: "Open Sans"; 
} 

见Flexbox的浏览器支持浏览:http://caniuse.com/#search=flexbox

考虑使用Autoprefixer

见Flexbox的代码样本前缀:The Ultimate Flexbox Cheat Sheet

+0

我最大的问题是最新的浏览器(Chrome和Safari)上的Ipad 3和Ipad Air – Chriss

+0

究竟发生了什么?你能发布一个问题的图像或更多的细节? –

+0

在问题中张贴截图。 – Chriss

1

您是否尝试过的第一个孩子和最后子li元素设置弹性值?我发现如果没有Flex容器中的flex-items具有flex值,那么iPad可能会感到困惑。例如:

.container li:first-child { 
    flex:1; 
    -webkit-box-flex:1; 
    -webkit-flex:1; 
} 
.container li:nth-child(4) { 
    flex:1; 
    -webkit-box-flex:1; 
    -webkit-flex:1; 
} 
2

我按照答案中的建议使用了Autoprefixer

我在编写SASS时使用gulp来处理这个问题。这是一个guide

这里的答案建议在没有前缀的前面使用前缀属性。我同意一个小小的更正。

.container { 
    display: -webkit-flex; 
    -webkit-flex-wrap: wrap; 
    display: flex; 
    flex-wrap: wrap; 
} 

理想情况下,你需要列出所有的前缀属性你开始使用非前缀的问题之前。 @Michael_B答案在我看来并不完美。

我希望人们会觉得这很有用。