При запуске в IE11 следующий пример добавит пробел в конец элемента itemwrapper
. При проверке в консоли dev это пространство не относится к марже, заполнению или границе. Кажется, что проблема связана с измерением высоты дочерних элементов, потому что, если им задана фиксированная высота, пространство исчезает (нажмите "фиксированные элементы высоты" ). Соединения ошибок основаны на количестве дочерних элементов с автоматическим размером... чем больше есть, тем больше увеличивается пространство (нажмите "добавить элементы" )
Это не происходит в Chrome, Firefox или Edge... он ограничен IE11 (и, я думаю, IE10).
Является ли это документированной ошибкой? Есть ли способ обхода?
window.addelements = function(){
$('<div class="item" style="height: auto;"><div>Account Name</div><div><input></div></div>').appendTo($('#itemwrapper'));
}
window.removeelements = function(){
$('.item').last().detach();
}
window.autoelements = function(){
$('.item').css('height', 'auto');
}
window.fixedelements = function(){
$('.item').css('height', '50px');
}
#flexwrapper {
display: flex;
flex-direction: column;
flex:1 1 100px;
justify-content:
flex-start;
border: 4px red solid;
}
#itemwrapper {
border: 4px green dashed;
}
.item {
border: 4px blue solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick="addelements()">add elements</button>
<button onclick="removeelements()">remove elements</button>
<button onclick="autoelements()">auto height elements</button>
<button onclick="fixedelements()">fixed height elements</button>
<div id="flexwrapper">
<div id="itemwrapper">
<div class="item" style="height: auto;"><div>Account Name</div><div><input></div></div>
</div>
</div>