html-css控制背景图全屏拉伸不重复显示

在HTML中,当我们设置背景图,只能采用是否重叠、居中、重叠方向这几个选项

CSS3中设置

body {  
    background:#3d71b8 url(../back_main.png);  
    background-size: 100%;  
    background-position:center;  
}  

但是background-siz是CSS 3的属性,并不是所有的浏览器都支持。

CSS2中并没有图片全屏拉伸的属性,只能想其他办法。 
利用一个DIV层,在里面装载一个IMG标签。然后设置DIV和IMG的大小为100%,并固定到屏幕最底层,这样就实现了完美的拉伸并最大化图片的目的。 
首先在Body中加入下面的代码:

<div id="div1"><img src="img.jpg" /></div> 

然后加入CSS代码: 

div#div1{ 
position:fixed; 
top:0; 
left:0; 
bottom:0; 
right:0; 
z-index:-1; 
} 
div#div1 > img { 
height:100%; 
width:100%; 
border:0; 
} 

最终效果:

这样,我们实现了固定居中且自动拉伸全屏的背景图片,不过她是一个层,所以当用户在页面空白处右键的时候,显示的就是图片的信息,这可能会让用户感觉不方便。 
实际上,火狐的拉伸效果比IE强很多,会自动羽化图片的细节。IE在图像拉伸后的像素点非常难看,所以建议用高分辨的图像作为背景。 

本文转载,谢谢。

原文地址:https://www.cnblogs.com/hwaggLee/p/5018485.html