IE与flex的那些事

  1. IE11支持不带前缀的flex
  2. IE11模拟的IE10环境对flex的支持基本和IE11一样,所以其实这个没啥意义。
  3. 真正的IE10仅支持-ms-flex,而且要求-ms-flex-preferred-size(即第三个参数)带单位,所以必须写成0px0%auto
  4. 使用clean-css压缩的时候(包括使用clean-css的插件,如gulp-minify-css),如果第三个值为0,则带前缀的-xxx-flex的第三个参数单位会被去掉,而不带前缀的flex的则会保留,即:
.broken-foo{-ms-flex:1 1 0;flex:1 1 0px}

而实际上-ms-flex才需要这个单位,而flex是支持省略单位的0的,即

.good-foo{-ms-flex:1 1 0px;flex:1 1 0}

一种处理方法是省略第三个参数,这时IE10下-ms-flex-preferred-size将默认为0px

  1. IE9以下免谈。

你可能感兴趣的:(IE与flex的那些事)