IE8兼容background-size属性

转载:https://blog.csdn.net/lxtlog/article/details/53256315

1.简介

background-size是CSS3新增的属性,但是IE8以下还是不支持,可以通过滤镜来实现这样的一个效果
background-size:contain; // 缩小图片来适应元素的尺寸(保持像素的长宽比);
background-size :cover; // 扩展图片来填满元素(保持像素的长宽比);
background-size :100px 100px; // 调整图片到指定大小;

background-size :50% 100%; // 调整图片到指定大小,百分比相对于包含元素的尺寸。

2.浏览器兼容:

IE 和遨游不支持;

Firefox 添加私有属性 -moz-background-size 支持;

Safari 和 Chrome 添加私有属性 -webkit-background-size 支持;

Opera 不支持 background-size 属性,添加其私有属性 -o-background-size 也不支持。

3.示例:

{
	background:#00ff00 url(img.jpg) no-repeat;    
	-moz-background-size:60% 80%;     
	-webkit-background-size:60% 80%;      
	-o-background-size:60% 80%;}  
	background-size:60% 80%;  
}

在IE不支持这个属性的时候可以通过滤镜来实现这样的一个效果。

{
	background-image: url('file:///F:/test/images/flashbg.jpg');  
	background-size:cover;
	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='file:///F:/test/images/flashbg.jpg',sizingMethod='scale');  
}

注意:路径须要一样,并且是绝对路径

4.自己尝试了一下,在浏览器中运行良好

(1)没有添加的效果,在高版本浏览器和标准浏览器中正常,但在低版本中(例如IE8以及IE8以下,因为无法识别background-size而现实异常):

a.正常(高版本)

b.异常(低版本)

(2)加了之后

a.正常

b.正常代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}			
			.mybg{
				width: 100px;
				height: 100px;
				background-image: url('https://img-ads.csdn.net/2018/201808101601454380.png');
				background-repeat: no-repeat;
				background-position: left center; 
				/*background-size: 100px 100px;*/
				background-size:cover;
				filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://img-ads.csdn.net/2018/201808101601454380.png',sizingMethod='scale'); 
			}
		</style>
	</head>
	<body>
		<div class="mybg"></div>
		<script src="https://cdn.bootcss.com/jquery/1.8.3/jquery.js" type="text/javascript" charset="utf-8"></script>
	</body>
</html>

(3)说明:

如果在某些浏览器中无法识别,还可以使用img标签将图片引入,设置img的宽高,也可达到背景图相同效果。

猜你喜欢

转载自blog.csdn.net/hangGe0111/article/details/81736479