サイズ変更可能な 内に流動的な画像を収めようとしていDIV
ます。画像は縦横比を維持し、100% (幅と高さの両方) を超えないようにする必要がありDIV
ます。
また、画像は水平方向と垂直方向の両方で中央に配置する必要があります。Chrome と Safari はこれを完全に行いますが、Internet Explorer 10 はそうではありません。
問題を説明するために簡単なjsfiddleを設定しました。
HTML:
<div id="diver">
<img src="http://ie.microsoft.com/testdrive/Performance/Minesweeper/images/ie-logo.png" style="" />
</div>
そしてCSS:
#diver {
border:1px solid #000000;
width:200px;
height:200px;
text-align:center;
display: table-cell;
vertical-align: middle;
}
img {
max-width:100%;
max-height:100%;
}
Chrome でボックスのサイズを幅と高さの 100% 未満に変更すると、次の画像のような結果が得られます。
100% 未満の高さ:
100% 未満の幅:
ただし、Internet Explorer 10 は高さのみをスケーリングします。幅が 100% を下回ることはありません。これが主な問題です。
Chrome/Safari と同様に IE で幅をスケーリングできますが、DIV
高さ (はい、高さ) を 10px などの低い値に設定する必要があります。
javascript で画像を動的にスケーリングできることは知っていますが、Internet Explorer がスケーリングを正しく処理できるはずの場合、余分な javascript が必要になるとは思いません。