在工作中碰到一个问题:background-size是css3的新属性,当在IE8及其以下浏览器中不起作用,导致背景图片不能自适应元素的大小?

先看一个小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>

												

兼容性问题:backgroud-size支持IE8浏览器的方法的更多相关文章

  1. 让bind函数支持IE8浏览器的方法

    bind函数在IE8下是不支持的,只需要在你的js文件中加入如下代码就可以支持IE8 //让bind函数支持IE8 if (!Function.prototype.bind) { Function.p ...

  2. Bootstrap3适配IE8浏览器的方法

    <!--[if lte IE 8]> <script src="js/respond.min.js"></script> <script ...

  3. 让IE6/IE7/IE8浏览器支持CSS3属性

    让IE6/IE7/IE8浏览器支持CSS3属性 一.下载 您可以狠狠地点击这里:ie-css3.htc,这个玩意儿是让IE浏览器支持CSS3表现的关键东东. 二.上面的是什么东西 首先说说.htc文件 ...

  4. 浅谈如何让 Bootstrap 3兼容IE8浏览器

    Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目.-- Bootstrap 官网 Bootstrap 来自 Twitter,是目前最 ...

  5. Jquery3.x高版本支持IE8

    最近在做项目的时候,遇到一个安全漏洞的问题 检测到目标站点存在javascript框架库漏洞 解决办法是 将受影响的javascript框架库升级到最新版本. 好吧,就给你升吧,升完之后,我的天啊,尽 ...

  6. #include <objsafe.h>//OCX控件在IE8浏览器下不能使用问题

    一.OCX控件开发常见的问题 1.OCX控件在IE8浏览器下不能使用问题 原因:IE8会拦截OCX控件的方法. 解决方法:在OCX控件开发时加入安全接口. (1)在有"Crtl"字 ...

  7. 【转】让Bootstrap 3兼容IE8浏览器

    FROM : http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html 最近在研究Bootstrap(官方,Github)这个 ...

  8. 让Bootstrap 3兼容IE8浏览器

    最近在研究Bootstrap(官方,Github)这个优秀的前端框架,Bootstrap最开始是Twitter团队内部的一个前端框架,所谓前端框架就是一个CSS/HTML框架,框架里面有下拉菜单.按钮 ...

  9. bootstrap3 兼容IE8浏览器

    近期在使用bootstrap这个优秀的前端框架,这个框架非常强大,框架里面有下拉菜单.按钮组.按钮下拉菜单.导航.导航条.面包屑.分页.排版.缩略图.警告对话框.进度条.媒体对象等,bootstrap ...

随机推荐

  1. 超详细的 Redis Cluster 官方集群搭建指南

    今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,rub ...

  2. slf4j日志门面担当

    一.简介 slf4j主要是为了给Java日志访问提供一个标准.规范的API框架,其主要意义在于提供接口,具体的实现可以交由其他日志框架,例如log4j和logback等.当然slf4j自己也提供了功能 ...

  3. Google Chrome 书签导出并生成 MHTML 文件

    目的 因为某些原因需要将存放在 Google Chrome 内的书签导出到本地,所幸 Google Chrome 提供了导出书签的功能. 分析 首先在 Google Chrome 浏览器当中输入 ch ...

  4. 使用 SharpZipLib 打包数据到 ZIP 文件

    SharpZipLib 是一个优秀的开源的第三方压缩库,可以通过这个库将一些导出的文件打包到一个 ZIP 文件当中供用户下载. GitHub 地址:https://github.com/icsharp ...

  5. asp.net MVC 5 路由 Routing

    ASP.NET MVC ,一个适用于WEB应用程序的经典模型 model-view-controller 模式.相对于web forms一个单一的整块,asp.net mvc是由连接在一起的各种代码层 ...

  6. .Net RabbitMQ系列之环境搭建于RabbitMQ基本介绍

    本系列主要讲解RabbitMQ在.Net环境下的应用,由于Linux环境下,本人Linux功力有限,所以本系列的RabbitMQ跑在Windows环境中.所以的配置之类都在Windows环境中进行. ...

  7. Docker中运行nginx并挂载本地目录到镜像中

    1.1 从hup上pull镜像1.2 创建将要挂载的目录1.3 先要有配置文件才能启动容器1.3.1 vim /data/nginx/conf/nginx.conf1.3.2 vim /data/ng ...

  8. vue-06-过度和动画

    1, css过度与动画 需要使用 v-if, v-show 来进行 1), 过度类名 v-enter: 进入时触发 v-enter-active: 执行过程中 v-enter-to: 停止时进行 v- ...

  9. 详解CSS的Flex布局

    本文由云+社区发表 Flex是Flexible Box 的缩写,意为"弹性布局",是CSS3的一种布局模式.通过Flex布局,可以很优雅地解决很多CSS布局的问题.下面会分别介绍容 ...

  10. Hive基础之Hive数据类型

    Hive数据类型 参考:中文博客:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2843448.html          英文:https: ...