IE CSS bug:影响父高的IMG原始高度

tom*_*oms 6 css size internet-explorer image flexbox

我有一个PARENT flexbox div(它也是列flexbox的一部分):

div.flex_block {
        width:100%;
        flex: 1 1 auto;
        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;  
        padding-bottom:30px; 
}
Run Code Online (Sandbox Code Playgroud)

它包含2个孩子:

.flex_block  .content{
    max-width:none; /* override other code */
    flex: 0 1 50%;
}

.flex_block  .image{
    max-width:none; /* override other code */
    flex: 0 1 35%;
}
Run Code Online (Sandbox Code Playgroud)

第一个孩子里面有一些文字.第二个是超大图像,设置为100%宽度,因此它缩小到其容器.

.flex_block  .image img{
    display:block;
    width:100%;
    height: auto;
}
Run Code Online (Sandbox Code Playgroud)

它在Chrome中按预期工作,但在IE中,原始img的高度似乎扩展了PARENT容器(即使它缩小以适应其容器).如果我设置img高度,问题就解决了.AUTO无法修复它.显然,我需要这个作为响应式设计,所以我不希望以像素为单位设置高度.

以下是对所发生情况的可视化: 在此输入图像描述

我也尝试使用百分比宽度的内联元素而不是flexbox,但问题占了上风.

小智 1

添加到容器的可能解决方案:

flex-shrink: 0;
Run Code Online (Sandbox Code Playgroud)

或者更具体地针对 IE11:

-ms-flex-negative: 0;
Run Code Online (Sandbox Code Playgroud)

这似乎解决了我的问题,但您的结果可能会有所不同。

我并不假装理解它为什么有效,但它似乎对我有用。:)