Кажется, IE11 не вычисляет ширину гибких элементов должным образом, если используется flex-wrap: wrap
.
См. http://jsfiddle.net/MartijnR/WRn9r/6/
Каждый из четырех ящиков имеет гибкую основу: 50%, поэтому мы должны получать по две строки по две коробки, но в IE11 каждый ящик получает одну строку. При установке границы на 0, она работает правильно.
Любая идея, если это ошибка, или если есть способ заставить IE11 вести себя (и все еще использовать границы)?
<section>
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
</section>
section {
display: -moz-flex;
display: -webkit-flex;
display: flex;
-moz-flex-direction: row;
-webkit-flex-direction: row;
flex-direction: row;
-moz-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
width: 100%;
box-sizing:border-box;
margin:0;
}
.box {
border: 1px solid black;
background: #ccc;
display: block;
-ms-flex: 50%;
-moz-flex: 50%;
-webkit-flex: 50%;
flex: 50%;
box-sizing: border-box;
margin:0;
}
P.S. В моем проекте, к счастью, нужно поддерживать только последнюю версию популярных браузеров, но IE11 является одним из них.