2017-02-11 18 views
6

İki resmi bir sütuna yerleştirmek için flexbox kullanıyorum. Bu durumda, div kabının genişliği görüntünün genişliğinden daha küçüktür. Div konteyner mükemmel görüntüyü Chrome'a ​​sığdırır, ancak IE'de yoktur ve nedenini bilmiyorum. https://jsfiddle.net/Yifei/16cpckqk/IE 11: Görüntü esnek kutu içinde doğru şekilde ölçeklenmiyor

Bu

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>

IE 11'de ne var ise:

+0

Bunu açıklayamam, ama her zaman% 100'lük bir yüksekliğe ayarlayabilirsiniz: Eğer (başlangıçta 1 olarak ayarlanır) sıfıra ayarlarsanız, çalışmalıdır görüntü ve esnek kutunun yüksekliğini manuel olarak tanımlayın, eğer bu yardımcı olursa :) –

+2

Bazı sebeplerden dolayı bu, 'flex: 0 0 auto'' div.inner' üzerinde (ya da sadece 'flex-shrink: 0') ayarlanarak da giderilir. Tuhaf olan, çünkü div'in küçülmesine izin vermek için küçülmemesi gerektiğini beyan etmelisin. – GSerg

cevap

11

IE11 başlangıç ​​değeri ile bazı sorunlar var gibi görünüyor flex-shrink property.

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>

+0

“flex-shrink: 0;” ayarının düzgün bir başlangıç ​​değeri sağlamanın doğru yolu olduğu gibi ses çıkarırsınız. Fakat burada mantıksal olarak doğru olan değer * (1) olduğunu belirttiğim gibi * 1'dir (http://stackoverflow.com/questions/42173213/ie-11-image-doesnt-scale-down-correctly-within-flexbox#comment71511073_42173213) Bunu düzeltmek için "0" olsa bile. – GSerg

+0

Doğru yol olduğunu söylemedim, cevabım sorun için olası bir çözümdür. Cevap verirken yorumunu görmedim ... sry – andreas

İlgili konular