美文网首页
Flex Box布局学习- 兼容

Flex Box布局学习- 兼容

作者: 贺贺v5 | 来源:发表于2016-09-22 21:09 被阅读193次

随着自己写过的页面的增多,也遇到了很多CSS兼容性的问题。这些兼容性问题,都是必然的,因为技术在不断进步,不断革新,所谓,“后浪推前浪,前浪拍死在沙滩上”,当然我们的技术不能是被拍死在沙滩上,我们还要支持,不支持的话,只能是你这个页面,这个产品被淘汰。

那么为了不被淘汰,我们就要做些兼容性处理。

我写页面的时候用到过很多的flex布局,觉得非常好用。下面附上一篇不错的flex布局介绍的文章。
Flex 布局教程想了解的可以自己去看看这篇博文,或者自己百度,这里先部多做介绍,我们主要来说一说flex布局的兼容性问题。

why?

大家可能想问了,flex布局为什么会存在兼容性问题啊?

之所以存在兼容性问题,是因为技术在不断的更新,有些旧的浏览器只支持旧语法的书写方式,所以就出现所谓的兼容性问题

what?

那么新旧版本是什么?

flex布局分为旧版本dispaly: box;,过渡版本dispaly: flex box;,以及现在的标准版本display: flex;。所以如果你只是写新版本的语法形式,是肯定存在兼容性问题的。

  • Android
    • 2.3 开始就支持旧版本 display:-webkit-box;
    • 4.4 开始支持标准版本 display: flex;
  • IOS
    • 6.1 开始支持旧版本 display:-webkit-box;
    • 7.1 开始支持标准版本display: flex;
  • PC
    ie10开始支持,但是IE10的是-ms形式的。

下面是各个浏览器的支持情况

how?

所以我们该如何进行兼容性的写法呢?

  • 盒子的兼容性写法
.box{
    display: -webkit-box;  /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
    display: -moz-box;     /* 老版本语法: Firefox (buggy) */
    display: -ms-flexbox;  /* 混合版本语法: IE 10 */
    display: -webkit-flex; /* 新版本语法: Chrome 21+ */
    display: flex;         /* 新版本语法: Opera 12.1, Firefox 22+ */
}
  • 子元素的兼容性写法
.flex1 {  
    -webkit-box-flex: 1   /* OLD - iOS 6-, Safari 3.1-6 */  
    -moz-box-flex: 1;     /* OLD - Firefox 19- */              
    -webkit-flex: 1;      /* Chrome */  
    -ms-flex: 1           /* IE 10 */  
    flex: 1;              /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

这种兼容写法不一定起效的。尤其是在底版本安卓系统中。因为什么呢?因为所有都是向下兼容的,所以写法的顺序一定要写好了才起作用。就是把旧语法写在底下,个别不兼容的移动设置才会识别,哪些是旧的语法,你懂的。那些带box的一定要写在最下面即可。

所以上面的兼容写法应该是这样的才对:

.box{
    
    display: -webkit-flex;  /* 新版本语法: Chrome 21+ */
    display: flex;          /* 新版本语法: Opera 12.1, Firefox 22+ */
    display: -webkit-box;   /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
    display: -moz-box;      /* 老版本语法: Firefox (buggy) */
    display: -ms-flexbox;   /* 混合版本语法: IE 10 */   
    
 }

.flex1 {            
    -webkit-flex: 1;        /* Chrome */  
    -ms-flex: 1             /* IE 10 */  
    flex: 1;                /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -webkit-box-flex: 1     /* OLD - iOS 6-, Safari 3.1-6 */  
    -moz-box-flex: 1;       /* OLD - Firefox 19- */       
}

这样来试试吧,保证不会再出现返工修改的问题。
good luck!

相关文章

  • Flex Box布局学习- 兼容

    随着自己写过的页面的增多,也遇到了很多CSS兼容性的问题。这些兼容性问题,都是必然的,因为技术在不断进步,不断革新...

  • 六、flex布局

    参考及引用链接 阮一峰Flex 布局教程张鑫旭box-flex(旧版)flex布局浏览器兼容处理 flex前奏知识...

  • 弹性盒布局兼容性问题

    弹性盒布局兼容性代码: .display-flex{ display: -webkit-box; display:...

  • css---flex兼容性布局

    flex布局教程 flex布局分为旧版本dispaly: box;,过渡版本dispaly: flex box;,...

  • 6Flex 布局

    Flex,(Flexible Box),意为"弹性布局"采用 Flex 布局的元素,为 Flex 容器(flex ...

  • css-flex布局

    1.flex布局的兼容性写法 关于flex布局的兼容性,参考flex兼容性 .flex{ display:-web...

  • CSS弹性布局简单了解

    Flex是Flexible Box的缩写,意为“弹性布局”。 采用 Flex 布局(display: flex;)...

  • Flex布局那些事儿

    Flex 是什么 Flex Box全称为Flexible Box,也即弹性布局,Flexbox布局比较适合Web应...

  • Flex 布局

    Flex 布局 Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒...

  • Flex布局(语法篇)

    一、介绍Flex布局 什么是Flex布局呢?Flex布局:又称弹性布局,它是Flexible Box 的缩写,它为...

网友评论

      本文标题:Flex Box布局学习- 兼容

      本文链接:https://www.haomeiwen.com/subject/tsnzettx.html