现代CSS3(推荐用于未来并可能是最佳解决方案)
.selector{
background-size: cover;
}
最大拉伸不变形,但可能不能填满背景:background-size: contain;
强制绝对拉伸(可能会导致变形,但不会裁剪):background-size: 100% 100%;
“旧式”的 CSS “始终有效”的方法
将图像绝对定位在其 (相对定位的) 父元素内,并将其拉伸到父元素的大小。
HTML
<div class="selector">
<img src="path.extension" alt="alt text">
<!
</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%,另一个尺寸设置为auto。
实际例子:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: auto;
}
CSS3中 background-size: 100% 100%;
的等效写法:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: 100%;
}
PS:如果要完全动态地执行“旧”方式中的覆盖/包含等价操作(这样您就不必担心溢出/比例),则需要使用JavaScript来检测比例并设置维度,如上所述...
background-repeat: no-repeat;
- Rorrik