css 如何让图片全屏的问题

html-css06

css 如何让图片全屏的问题,第1张

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>

原始处理方法是将要展示的图片进行处理。比如你的DIV宽度为500px(像素),那你上传的图片或放入网页的图片宽度就要小于500px,也就是你图片需要图片软件剪切、等比例缩小方法处理后再上传、放入网页中解决撑破撑开DIV问题。

常见很多大型图片站点、新闻站点都是将照片图片进行处理适应网页宽度情况下,进行图片编辑处理的。

二、防止图片撑开DIV方法二

如果不处理照片方法适应DIV有限宽度,那可以对DIV设置隐藏超出内容方法。只需要对DIV设置宽度后加入CSS样式“overflow:hidden”即可解决隐藏图片比DIV过宽部分解决撑破DIV问题。

三、解决方法三

对图片img标签中只加入宽度即可解决。这样可以等比例缩小图片,不会影响图片画面质量。

比如你的网页DIV宽度为500px,那你上传图片后对img标签设置width等于500以下即可。

即可解决图片过宽导致DIV SPAN撑破,这样好处可以等比例放大缩小图片。

四、CSS解决撑破方法四

这种方法使用CSS直接对div内的img进行宽度设置,这样不好是如果图片过小会影响网页浏览图片时候效果。