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)
这似乎解决了我的问题,但您的结果可能会有所不同。
我并不假装理解它为什么有效,但它似乎对我有用。:)