兼容性问题:backgroud-size支持IE8浏览器的方法
2017-08-15 15:14
375 查看
在工作中碰到一个问题:background-size是css3的新属性,当在IE8及其以下浏览器中不起作用,导致背景图片不能自适应元素的大小?
先看一个小demo:
上面的代码在IE8以上,谷歌火狐等浏览器下,图片自适应铺满div元素,在IE8下只显示图片的一部分,解决办法如下:
解决办法1:引入jquery.backgroundcover.js 文件(下载地址:https://www.npmjs.com/package/jquery-backgroundcover),代码如下
解决办法2:backgroundsize.min.htc(一个国外人写的小插件,下载地址:http://www.dowebok.com/139.html)代码如下
解决办法3:变相的绕过background-size属性,用绝对定位修改代码,也可以达到那种效果
先看一个小demo:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .img{ width:300px; height: 300px; border:1px solid #000; background: url(img/timg.jpg) no-repeat; background-size: cover; //IE8下此属性失效 } </style> </head> <body> <div class="img"></div> </body> </html>
上面的代码在IE8以上,谷歌火狐等浏览器下,图片自适应铺满div元素,在IE8下只显示图片的一部分,解决办法如下:
解决办法1:引入jquery.backgroundcover.js 文件(下载地址:https://www.npmjs.com/package/jquery-backgroundcover),代码如下
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .container{ width:300px; height: 300px; border:1px solid #000; background: url(img/timg.jpg) no-repeat; background-size: cover; } </style> <script src="js/jquery-1.8.2.min.js" ></script> <script src="js/jquery.backgroundcover.min.js"></script> </head> <body> <div class="container"></div> <script> $('.container').backgroundcover({ safearea: "50%,50%,50%,50%" }) </script> </body> </html>
解决办法2:backgroundsize.min.htc(一个国外人写的小插件,下载地址:http://www.dowebok.com/139.html)代码如下
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .container{ width:300px; height: 300px; border:1px solid #000; background: url(img/timg.jpg) no-repeat; background-size: cover; -ms-behavior: url(css/backgroundsize.min.htc);//url中是文件的地址 behavior: url(css/backgroundsize.min.htc); } </style> </head> <body> <div class="container"></div> </body> </html>
解决办法3:变相的绕过background-size属性,用绝对定位修改代码,也可以达到那种效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .container{ width:300px; height: 300px; border:1px solid #000; position: relative; } .container img{ position: absolute; top:0; left:0; width: 100%; height: 100%; } </style> </head> <body> <div class="container"> <img src="img/timg.jpg" alt=""/> </div> </body> </html>
相关文章推荐
- HTML5----IE低版本支持HTML5标签方法,css 浏览器网页兼容性
- 关于CSS+DIV 开发 与各浏览器的兼容性问题..解决方法.
- 解决在firefox浏览器不支持ajax的transport.responseXml方法问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- IE8及低版本浏览器不支持CSS3 media queries的解决方法
- IE8及低版本浏览器不支持CSS3 media queries的解决方法
- div+css在各浏览器间的兼容性问题解决方法总结
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- JS代码判断浏览器版本,支持IE6,IE7,IE8,IE9!三种方法!
- IE8的canvas,不支持getContext方法的问题~
- Reporting Service Report (Report Viewer 2005) 与 IE8 兼容性问题及解决方法
- ie8及其以下浏览器的document.getElementsByClassName兼容性问题
- ie8 不支持new Date(2012-11-10)问题的解决方法
- ie8 不支持new Date(2012-11-10)问题的解决方法
- js 解决IE8 数组无IndexOf方法和 js Date兼容浏览器问题
- IE8浏览器COOKIE会话问题,解决方法
- 让IE8浏览器支持function.bind()方法
- IE8浏览器COOKIE会话问题,解决方法,不同步COOKIE
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题