2017-01-13 7 views
0

はCSSで縦中央をのimg unknow高さを作成し、IE9

.box { 
 
    width : 100%; 
 
    max-height : 300px; 
 
    overflow : hidden; 
 
} 
 

 
img { 
 
    width : 100%; 
 
    }
<div class="box"> 
 
    <img src="banner.png" /> 
 
</div>

をサポートし、私は画像banner.pngのサイズがわからないが、私はmax-height.boxの要素を制限したいです。 banner.pngの高さがmax-heightより大きい場合は、imgタグを垂直に真っ直ぐにする必要があります。

どうすればいいですか?

答えて

0
.box{ 
width : 100%; 
max-height : 300px; 
overflow : hidden; 
} 
.box > img { 
    width : 100%; 
    max-width:100%; 
    vertical-align:middle; 
} 
0

このようにしてみてください。

更新答え

.box { 
width : 100%; 
max-height : 300px; 
overflow : hidden; 
} 
.box img { 
width:100px; 
vertical-align: middle; 
} 
+0

を試してみてくださいありがとうございました。しかし、私はイメージのサイズを変えたくありません。 – LCB

+0

私のコードを更新しました。チェックしてください。それは画像の高さを変更せずに仕事です –

0

使用してこのコードを試してみてくださいフレックス

.box{ 
width : 100%; 
max-height : 300px; 
display:flex; 
align-items: center; 
} 

.box { 
 
    width : 100%; 
 
    min-height : 300px; 
 
    overflow : hidden; 
 
    border:1px solid green; 
 
    display:flex; 
 
    align-items:center; 
 
}
<div class="box"> 
 
    <img src="http://c5.la4.download.9appsinstall.com:7080/group1/M02/6D/74/pYYBAFhLFviAdm8mAAAWl_5Xbaw477.png" /> 
 
</div>

位置

.box { 
 
    width : 100%; 
 
    min-height : 300px; 
 
    overflow : hidden; 
 
    border:1px solid green; 
 
    display:block; 
 
    position:relative; 
 
} 
 

 
.box img { 
 
    position:absolute; 
 
    top:50%; 
 
    transform: translate(0, -50%) 
 
}
<div class="box"> 
 
    <img src="http://c5.la4.download.9appsinstall.com:7080/group1/M02/6D/74/pYYBAFhLFviAdm8mAAAWl_5Xbaw477.png" /> 
 
</div>

+0

ありがとう。私はIE9をサポートする必要があり、 'display:flex;かもしれません。IE9では動作しません。 – LCB

+0

IE –

+0

の更新版を見ています。そうですねですが、 '.box'要素の高さを指定しなかった場合、imgの位置は正しくありません。 – LCB

0

を使用すると、この

.box { 
    width : 100%; 
    max-height : 300px; 
    overflow : hidden; 
    display: flex; 
} 

.box img { 
    margin: auto; 
} 
+0

IEでFlexプロパティが動作しない –

+0

10で始まるhttp://caniuse.com/#search=flexbox IE9非常に小さなユーザー – grinmax

+0

私の平均は、 –

関連する問題