css设置背景图片全屏,如果只是将其当做一张图片显示,可以通过css控制。超大图片,引入进来即可根据大小缩放。
如果这张图片为背景图片由于背景图片不具有伸缩性,只能通过别的方法绕着解决,在ie中可以用,实现背景拉伸铺满整个浏览器,但其它的浏览器不支持。
具体解决方法如下:
1、创建以下目录结构的测试页面。
2、将测试图片显示在浏览器界面上,效果如下。
3、通过CSS设置背景图片,默认效果如下,图片被自动重复以铺满窗口。
4、通过CSS设置背景图片不重复,此时,图片将不能铺满窗口。
5、通过CSS设置图片大小100%,效果如下,图片铺满窗口。
6、通过CSS设置图片大小cover,效果如下,图片铺满窗口。
把图片设为父级元素的背景图片是最简单的方法:
<div style="width:400px height:300px background:url(123.jpg) no-repeat center / cover"></div>如果一定要以单独的图片展示,则这样:
<div style="position:relative width:400px height:300px overflow:hidden"><img src="123.jpg" style="position:absolute left:50% top:50% transform:translate(-50%,-50%) min-width:100% min-height:100% " />
</div>
<!--以上适用于图片的长和宽至少有一个是小于div外框的情况-->
<!--如果图片的长和宽都大于div外框,则必须结合js才行-->
<div style="position:relative width:400px height:300px overflow:hidden">
<img src="123.jpg" style="position:absolute left:50% top:50% min-width:100% min-height:100% transform:translate(-50%,-50%)" onload="if(this.width>400&&this.height>300){if(this.width/this.height<400/300){this.style.maxWidth='100%'}else{this.style.maxHeight='100%'}}" />
</div>