css flex布局在某些iPad上不起作用

Posted

技术标签:

【中文标题】css flex布局在某些iPad上不起作用【英文标题】:css flex layout not working on some iPads 【发布时间】:2016-05-18 10:25:44 【问题描述】:

我在 ipad 上遇到了一些 flex 问题。我想要三个等距的盒子。它在我的 ipad 和各种浏览器(包括桌面上的 safari)上运行良好。但是,一些 iPad 显示这些盒子之间没有空间,并且都在左边。但是我无法重现。

这是html

<aside id="home-page-postcards" class="home-page-postcards" role="complementary">
  <div class="postcard-wrapper">
    <div class="postcard">...content...</div>
    <div class="postcard">...content...</div>
    <div class="postcard">...content...</div>
  </div>
</aside>

我有这个 css;

.home-page-postcards 
    background:#fff;
    width:100%;
    padding-top:60px;
    padding-top:35px;
    padding-bottom:40px;



.postcard-wrapper  
        display: -webkit-box;      
        display: -moz-box;         
        display: -ms-flexbox;      
        display: -webkit-flex;     
        display: flex;             

        width:1170px;
        margin:0 auto;

        -webkit-flex-flow: row nowrap;
        flex-flow:row nowrap;

        -webkit-justify-content: space-between;
        justify-content: space-between;
        

.postcard 
    width:31.2%;
    font-family: 'Belleza', sans-serif;
    font-size:20px;
    line-height:1.3;

【问题讨论】:

只是添加这样的媒体查询:@media (max-width:1171px) .postcard-wrapper width:100%;... 【参考方案1】:

那是因为您缺少 justify-content: space-between 的 2009 -webkit-box 语法。带有 Safari -webkit-box-pack: justify;。

对于 flexbox back-compat,您需要为所有非默认属性使用另外两种语法,包括所有浏览器的 -moz--ms- 前缀。

你的包装应该是:

  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;

请参阅此demo and flexbox generator 以获取有关完整跨浏览器语法的帮助。

PS:请注意,此工具将生成完整的属性集。如果已经是“flexbox”默认值,您可能不需要其中的一些。在这种情况下,您不需要rownowrap。它已经是 flex 默认值了。

【讨论】:

以上是关于css flex布局在某些iPad上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

布局 .xml 有时在某些 android 版本上不起作用

performSegueWithIdentifier 在某些设备上不起作用

UIButtons 在某些设备上不起作用

flex 属性在 safari 上不起作用

UIPanGestureRecognizer 在 iPad 上不起作用?

按钮在 ipad 模拟器上不起作用