我再次意识到这个问题已被问过几次,但不管我找到什么答案,它实际上什么也没做。
我正在尝试做Chrome以及任何其他受人尊敬的浏览器所做的事情:
然而,在IE11中,我得到了这个:
.inner-image img {
border-radius: 50%;
max-width: 100%;
// http://jsfiddle.net/qgybon8q/2/
flex-shrink: 0;
// http://jsfiddle.net/mftnbk38/4/
//flex: 0 0 auto;
//object-fit: scale-down;
// https://connect.microsoft.com/IE/feedback/details/1218984/ie11-display-flex-issue
//flex: 1;
//
//max-width: calc( 100% - 0.1px );
}
这个小提琴可以在这里找到:https://jsfiddle.net/Kikketer/e9jb5pvh/
我尝试过的所有尝试都以失败告终。事实上即使在运行其他解决方案的小提琴时,它似乎也无法发挥作用。
我有什么遗失的吗?
答案 0 :(得分:1)
也许您在Microsoft文档中错过了这篇文章:
来自文章:
如果有人到达这里试图修复IE11中的这个令人抓狂的问题 - 我建议在图像的flex包装器中添加
min-height: 1px
以强制IE根据height: auto
的图像重新计算大小适用于它。这解决了这个问题并且对其他浏览器没有影响,因此我不需要专门针对IE11。
所以,将min-height: 1px
添加到.body
:
.wrapper {
display: flex;
flex-direction: column;
border: 1px solid black;
width: 400px;
}
.head {
background-color: rgba(200, 100, 100, 1);
}
.body {
min-height: 1px; /* NEW (for IE11) */
background-color: rgba(200, 200, 200, 1);
}
.inner {
display: flex;
flex-direction: row;
}
.inner-content {
flex: 1 1 75%;
}
.inner-image {
flex: 1 1 25%;
}
.inner-image img {
border-radius: 50%;
max-width: 100%;
flex-shrink: 0;
}
.foot {
background-color: rgba(100, 200, 100, 1);
}
<div class="wrapper">
<div class="head">
<p>Header content</p>
</div>
<div class="body">
<div class="inner">
<div class="inner-content">
<p>The image to the right is normally 253px high/wide</p>
</div>
<div class="inner-image">
<img src="http://connectorsdemo.azurewebsites.net/images/MSC12_Oscar_002.jpg">
</div>
</div>
</div>
<div class="foot">
<p>Footer Content</p>
</div>
</div>