即使使用旧前缀,Flex属性也无法在IE 10中工作

时间:2018-06-12 17:21:51

标签: css twitter-bootstrap flexbox internet-explorer-10

我创建了一个英雄,其中文本位于图像的左侧,使用flexbox自动将文本相对于图像定位在div的中心。

我使用旧的和新的IE前缀使其能够在最新版本的IE上运行,但它似乎不能在IE 10上运行。文本div似乎在整个列的宽度上延伸,在右边的图像后面。关于为什么会发生这种情况的任何想法?

代码:

.hero {
  background-color: #3c763d;
  text-align: center;
}

.flex {
  display: -ms-flexbox;
  display: -moz-flex;
  display: -webkit-box;
  display: -moz-box;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  flex-direction: row;
}

.d-flex {
  -ms-flex-align: center!important;
  -webkit-box-align: center!important;
  align-items: center!important;
  display: -ms-flexbox!important;
  display: -webkit-box;
  display: flex;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  -moz-flex: 1 1 15em;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 15em;
  flex: 1 1 15em;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}
<section class="section hero">
  <div class="container">
    <div class="row flex">
      <div class="col-xs-12 col-md-6 d-flex">
        <div>
          <h2>Headline</h2>
          <p>Paragraph text</p>
        </div>
      </div>
      <div class="col-xs-12 col-md-6">
        <div>
          <img class="img-responsive" src="http://pngplay.com/wp-content/uploads/1/Laptop-PNG-Image.png">
        </div>
      </div>
    </div>
  </div>
</section>

1 个答案:

答案 0 :(得分:1)

Can I Use注意到IE10仅支持flexbox的2012 syntax。 (它还指出,由于已知的大量错误,支持被认为是部分支持。)

快速扫描语法文档表明align-items不存在,而可能是flex-item-align。此外,您的示例似乎不包含flex-direction

在3年或4年前尝试在大型网络应用程序中使用flex时,我们最终只是为所有版本的IE使用Javascript解决方法。