私の目標は、最大幅のアスペクト比が固定されたdivで画像(またはその他のコンテンツ)を表示することですが、必要に応じて縮小します。
次のjsFiddleは、私がこれまでに得たものを示しています。IE8では問題なく動作します。FirefoxとChromeでは、内側のdivが外側のdivを完全に埋めていないため、下部に小さなギャップがあります。Safariのアスペクト比が間違っています。
<!doctype html>
<html>
<head>
<title>Fixed Aspect Ratio</title>
<style>
.keepaspect
{
position: relative;
max-width: 750px;
margin: auto;
/* Box Shadow */
-moz-box-shadow: 0px 0px 10px #000;
-webkit-box-shadow: 0px 0px 10px #000;
box-shadow: 0px 0px 10px #000;
/* For IE 8 */
/* For IE 5.5 - 7 */
behavior: url(http://localhost/PIE.php);
}
.inner
{
width: 100%;
padding: auto;
display: block;
}
</style>
</head>
<body>
<div class="keepaspect inner">
<img src=http://i42.tinypic.com/21e18cx.jpg width='100%' height='100%'>
</div>
</body>
</html>
クロスブラウザに対応し、ある意味で常に外側のdivを埋めるように設定するにはどうすればよいですか?
この例でわかるように、まだ機能していないjwplayerも組み込まれているはずです。ただし、jwplayer埋め込みのマークアップは、テスト/デモンストレーションの目的で使用されます:http: //jsfiddle.net/Kn2Ju/1/
これに2つの異なる設定が必要かどうかはわかりません。
これは完全に機能する例ですが、これはimgタグに基づいているため、使用できません。コンテンツは必ずしもimgではありません。 http://jsfiddle.net/gMUkE/2/
<!doctype html>
<html>
<head>
<title>Fixed Aspect Ratio</title>
<style>
#container
{
position: relative;
min-width: 300px;
max-width: 750px;
margin: auto;
}
#container img
{
width: 100%;
margin: auto;
position: relative;
display: block;
/* Box Shadow */
-moz-box-shadow: 0px 0px 10px #000;
-webkit-box-shadow: 0px 0px 10px #000;
box-shadow: 0px 0px 10px #000;
/* For IE 8 */
/* For IE 5.5 - 7 */
behavior: url(http://localhost/PIE.htc);
}
.content
{
width: 100%;
height: 100%; /*optional in case the poster image has exact aspect ratio*/
position: absolute;
z-index: 1;
}
</style>
</head>
<body>
<div id=container>
<img src=http://i42.tinypic.com/21e18cx.jpg>
</div>
</body>
</html>