これはブラウザのレンダリングの問題か間違ったCSSかどうか疑問に思っています。 定義済みのアスペクト比でdivを拡大/縮小するには、トランスペアレントイメージを子要素として使用するのが良い方法です。 私はここに小さなデモがあります。この質問が必要です。アスペクト比、CSSを使用し、画像が正しくレンダリングされませんか?
しかし、100%の高さが必要な場合はどうしてうまく動作しません。
私はこれをFF10、Safari 5.1.2、IE8、IE9でテストしました。 (ie8のみが正しくレンダリングされているようです...)
誰かが問題を説明して解決策を考え出すことができますか?あなたは、あなたが幅の自動設定時にwidth:auto
とwidth:100%
間
1.Different、:あなたの質問を表示した後
よろしく、 のRik
<!DOCTYPE html>
<html lang="uk">
<head>
<title>test</title>
<style>
html
, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background: green;
}
/* AUTO WIDTH - doesnt render correct when scaling the browser window to a smaller size */
.holder1 {
position: relative;
display: inline-block;
height: 100%;
width: auto;
background: yellow;
border-right: 1px solid red;
}
.holder1 .ratio {
display: block;
height: 100%;
width: auto;
}
/* AUTO HEIGHT - works fine */
.holder2 {
position: relative;
display: inline-block;
height: auto;
width: 100%;
background: yellow;
border-right: 1px solid red;
}
.holder2 .ratio {
display: block;
height: auto;
width: 100%;
}
</style>
</head>
<body>
<span class="holder1">
<img src="/images/empty_image.png" class="ratio" alt="Ratio image">
</span>
</body>
</html>
'width'プロパティは ''( 'display:inline'を持っているので意味がありません)ので、.holder2に対しては何もしません。 –
@Alexander .hoder2はデモでは実際には使用されていません(マークアップには表示されません) –