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

时间:2015-10-26 16:55:00

标签: css image internet-explorer size 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; 
}

它包含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%;
}

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

.flex_block  .image img{
    display:block;
    width:100%;
    height: auto;
}

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

以下是对所发生情况的可视化: enter image description here

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

1 个答案:

答案 0 :(得分:1)

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

flex-shrink: 0;

或更具体的IE11:

-ms-flex-negative: 0;

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

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