CSS背景图片实现自适应、全屏、填充与拉伸的方法
两种方法
第一种方法:
全浏览器兼容,写如下代码:
.bg{
background:url(http://wyz.67ge.com/wp-content/uploads/qzlogo.jpg);
filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale')";
-moz-background-size:100% 100%;
background-size:100% 100%;
}
第二种方法:
js控制,写如下代码:
<div id="formbackground" style="position:absolute; width:100%; height:100%; z-index:-1">
<img src="pictures/background.jpg" height="100%" width="100%"/>
</div>
`
<div id="formbackground" style="position:absolute; z-index:-1;"><img src="10.jpg" height="100%" width="100%"/></div>
<script type="text/javascript">
$(function(){
$('#formbackground').height($(window).height());
$('#formbackground').width($(window).width());
});
</script>
总结:
做响应式布局的时候,如果有背景图,我们希望能够全屏100%显示,这样显得页面非常的爆满,不过这又出现了一个问题,图片的尺寸多大合适呢,现在的浏览器分辨率参差不齐,对于Firefox等高级的浏览器,使用Background-size设置为100%即可,而IE浏览器就需要不同设置。
实现背景100%填充
.picLUp{
background:url(logo.png) no-repeat;
width:100%;
height:40%;
background-size:100% 100%;
}
在Firefox中,只需要用background-size则可以控制其随容器的大小而自动伸缩,在这样的CSS控制之下,则可以在Firefox中达到背景图片随父容器大小而自动变化,达到填充效果,图片会被拉伸填充,这并不是我们想要的效果,那么我们可以不设置100%参数,而是使用cover参数。
background-size:cover
设置cover参数以后,背景图会按比例缩放填充满整个背景。