最新の CSS3 (将来的に推奨され、おそらく最良の解決策)
.selector{
background-size: cover;
/* stretches background WITHOUT deformation so it would fill the background space,
it may crop the image if the image's dimensions are in different ratio,
than the element dimensions. */
}
最大。切り抜きも変形もせずに伸ばす (背景が塗りつぶされない可能性があります) : background-size: contain;
絶対的に引き伸ばす(変形の原因になる場合がありますが、切り抜きは行われません) : background-size: 100% 100%;
「古い」CSS「常に機能する」方法
(相対的に配置された)親の最初の子としての絶対配置イメージで、親のサイズに引き延ばします。
HTML
<div class="selector">
<img src="path.extension" alt="alt text">
<!-- some other content -->
</div>
CSS3 と同等background-size: cover;
:
これを動的に実現するには、contain メソッドの代替手段(以下を参照)の反対を使用する必要があります。トリミングされた画像を中央に配置する必要がある場合は、動的にそれを行う JavaScript が必要です。たとえば、jQuery を使用します。
$('.selector img').each(function(){
$(this).css({
"left": "50%",
"margin-left": "-"+( $(this).width()/2 )+"px",
"top": "50%",
"margin-top": "-"+( $(this).height()/2 )+"px"
});
});
実際の例:
CSS3 と同等background-size: contain;
:
これは少しトリッキーな場合があります。親をオーバーフローする背景の寸法には、CSS が 100% に設定され、もう一方は自動に設定されます。
実際の例:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: auto;
/* -- OR -- */
/* width: auto;
height: 100%; */
}
CSS3 と同等background-size: 100% 100%;
:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: 100%;
}
PS:「古い」方法でカバー/コンテインに相当するものを完全に動的に実行するには (したがって、オーバーフロー/比率を気にする必要はありません)、javascript を使用して比率を検出し、説明どおりに寸法を設定する必要があります。 ..