次のコードは、Firefox と Chrome では正常に機能しますが、 Safariでは機能しません(Mac と iPad でテスト済み): http://jsfiddle.net/eFd87/。
<div id="wrapper">
<div id="content">
<img src="http://farm3.staticflickr.com/2783/4106818782_cc6610db2c.jpg">
</div>
</div>
#wrapper {
position: relative;
padding-bottom: 33.33%; /* Set ratio here */
height: 0;
}
#content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: green;
text-align: center;
}
#content img {
max-height: 100%;
}
目標は、ラッパー div の縦横比を固定し (私の Web アプリケーションではカルーセルです)、その中の画像を div (および中央) に収まるようにサイズ変更することです。
height: 0
Safari では、 (img の高さが 0 になる)ため、画像は表示されません。画像表示でheight: 100%
はありますが、divに収まりません(オーバーフローします)。
この問題の解決策はありますか? 私はこれに何時間も取り組んできました...