Подтвердить что ты не робот

IE 11: изображение не масштабируется правильно в пределах flexbox

Я пытаюсь использовать flexbox, чтобы разместить два изображения в столбце. В этом случае width контейнера div меньше width изображения. В Chrome изображение идеально вписывается в контейнер div, но не в IE, и я не знаю почему.

div.outer {
  width: 400px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

div.inner {
  width: 100%;
  border: 1px solid red;
}

img {
  width: 100%;
  height: auto;
}
<div class="outer">
  <div class="inner">
    <img src="http://placehold.it/480x360">
  </div>

  <div class="inner">
    <img src="http://placehold.it/480x360">
  </div>
</div>
4b9b3361

Ответ 1

IE11, похоже, имеет некоторые проблемы с начальным значением свойства flex-shrink. Если вы установите его на ноль (он первоначально установлен в 1), он должен работать:

div.outer {
  width: 400px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
div.inner {
  flex-shrink: 0;
  width: 100%;
  border: 1px solid red;
}
img {
  width: 100%;
  height: auto;
}
<div class="outer">
  <div class="inner">
    <img src="http://placehold.it/480x360">
  </div>

  <div class="inner">
    <img src="http://placehold.it/480x360">
  </div>
</div>

Ответ 2

Принятое решение уничтожило мои липкие колонтитулы в т.е. Так что я решил эту тревожную проблему с помощью следующего неудовлетворительного "только для ie JS".... Значение px вместо "height: auto" помогло мне.

 if(fuBrowser =='ie'){
  var img = $("#teaser img");
    img.each(function() {
    $( this ).css({height: $( this ).height()});
    });
  }

Ответ 3

Только что добавил flex: 1; чтобы ребенок работал на меня.