IE8下兼容rgba颜色的半透明背景

这样的标题在百度和google搜索下很多篇文章,讲解IE8下兼容rgba的。

这些文章全部都是使用IE下的filter来使元素透明,但是这个里面会有bug。

它们的如下:

background: rgba(0,0,0,.5);  /*支持rgba的浏览器*/
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);
IE filter 的bug

简答评论下这个代码的问题,首先这代码在IE9+上就会有颜色叠加的bug,fliterIE9+也同样支持的

其次IE8上确实是可以运行,但是这个元素对css的:hover,js的click事件(其他事件没有测试)支持将变得怪异,这个bug我的理解是IE对使用了filter的对象将会降低它的层次,就想是使用的z-index的感觉,只是视觉上没有变化,看 例子

注意,在例子中只有有文字的地方才能触发hover事件和点击事件,没有文字的地方点击事件就直接穿这个div点击到了下面一层的div了。这里才是重点。

我的解决方式

代码先行

// css
.a1{
margin: 10px auto 0;
width: 200px;
height: 200px;
position: relative;
overflow: hidden;
background: lightblue
}
.a2{
width: 130px;
height: 160px;
margin-left: 20px;
margin-top: 20px;
background: pink
}
.a3{
position: absolute;
right: 0;
top: 50%;
margin: 20px;
height: 120px;
width: 110px;
margin-top: -60px; background: no-repeat, rgba(128,128,128,.5);
color: black;
font-size: 12px;
z-index: 2
}
.a3 > .background-mask{
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F808080,endcolorstr=#7F808080);
zoom: 1;
}
.a3:hover{
color: white;
}
//html
<div class="a1">
<div onclick="a2(this)" class="a2"></div>
<div onclick="a3(this)" class="a3">
我是a3,我用IE的filter属性的,我有hover看我的颜色,我还有click事件,分别点击文字和我的空白的地方
<!--[if IE 8]><div class="background-mask"></div><![endif]-->
</div>
</div>

可以看 例子 方便点

关键的地方是background: no-repeat, rgba(128,128,128,.5);用background的多个属性让background在IE8上永不生效,然后IE8用<!--[if IE 8]><div class="background-mask"></div><![endif]-->来生成背景

对于文字会被filter影响的问题,可以把文字和filter分开放,然后用z-index把文字内容放在filter上层,这样filter就不会把文字内容影响到了。

这次主要是说明了下ie8上兼容透明背景的使用,还是一个观点问题,背景就应该在内容的下方,这样就不会出怪异问题。使用了filter属性的元素注定只有当背景。

真~让IE8支持background: rbga; ,IE8下兼容rgba颜色的半透明背景的更多相关文章

  1. IE8下兼容rgba颜色的半透明背景

    在工作中做一个图片半透明遮罩时发现在IE8下不兼容 一查再知道IE8不支持rgba颜色,再搜搜兼容性方法,没想到这么快就解决了. 先说说rgba的含义: r代表red,g代表green,b代表blue ...

  2. 让ie8支持 placeholder 属性

    一.  ie8支持 placeholder 属性 /* * ie8支持 placeholder 属性 */ $(function(){ if( !('placeholder' in document. ...

  3. 让IE7 IE8支持CSS3 background-size属性

    简介 CSS3 新增的 background-size 是一个很有用的属性,用于定义背景图片的尺寸,有了这个属性,你就可以任意指定背景图片的大小.其中最常用的值应该要数 cover 了,该值能让背景图 ...

  4. 让IE8支持HTML5及canvas功能!chart.js图表绘制工具库IE8上兼容方案

    第一步,我们加上对html5的支持. <!--[if IE]> <script src="/public/html5.js" type="text/ja ...

  5. IE8下实现兼容rgba

    昨天遇到一个问题,要实现一个背景透明的效果,用CSS3用rgba()就能实现,即 background: rgba(0,0,0,.5); 但是要兼容到IE8,就发现没有透明效果,因为IE8不支持rgb ...

  6. 让IE8支持HTML5及canvas功能!

    微软出的IE9支持HTML5,但因为不支持XP系统,暂时我还用不了. 即使能用,现阶段如果开发HTML5页面,并考虑到兼容性问题的话,恐怕也得让自己的界面支持IE6-8吧. 首先,需要让IE支持HTM ...

  7. CSS判断不同分辨率显示不同宽度布局CSS3技术支持IE6到IE8

    CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8.将用到css3 @media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给大家介绍通过JS ...

  8. 【学习】ie8支持rgba()透明度颜色

    (我的博客网站中的原文:http://www.xiaoxianworld.com/archives/285,欢迎遇到的小伙伴常来瞅瞅,给点评论和建议,有错误和不足,也请指出.) rgba()函数可以用 ...

  9. 让IE8支持html5中的video标签

    这是一篇综合几个前辈的解决方案. 使用video的时候,要遇到的问题. ①不兼容ie9及其以下版本 在<head>里添加两行, 参考张鑫旭前辈的博客,但是在ie8中薄播放. <!-- ...

随机推荐

  1. ZeroMQ接口函数之 :zmq_socket – 创建ZMQ套接字

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ZeroMQ 官方地址:http://api.zeromq.org/4 ...

  2. 01@MySQL_Course_LabVIEW+MySQL程序开发

    LabVIEW+MySQL程序开发 大数据时代,LabVIEW程序开发怎么能少了数据库这一强大的工具,然而大多数的LabVIEW工程师对于数据库的概念了解比较少,所以本课程重点介绍如何利用MySQL, ...

  3. *HDU1150 二分图

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. 第一章-第六题(帮人抢票,帮人选课这些软件是否合法 你怎么看?)--By梁旭晖

    我觉得这些软件是合法的,符合道德规范的. 计算机当初设计的初衷就是简化甚至替代人类的工作.而软件作为计算机硬件的驱动着,其设计就是体现这些原则. 现在互联网上的订票,选课类型的网站还是有很多的,比如: ...

  5. Maven项目WEB-INF/views无法引入js,css静态文件解决方法

    web.xml针对文件后缀配置以下,对客户端请求的静态资源如图片.JS文件等的请求交由默认的servlet进行处理 <servlet-mapping> <servlet-name&g ...

  6. 去除DataTable中的重复数据

    有时需要从DataTable中抽取Distinct数据,遍历比较费劲,C#.NET中其实有更易用的方法,如下: string[] columnArray = { "columnName1&q ...

  7. ip_conntrack table full dropping packet错误的解决方法

    ip_conntrack表满导致的,iptables开启后会加载ip_conntrack模块,来跟踪包.默认情况下ip_conntrack_max大小为65536. 查看ip_conntrack最大大 ...

  8. Transferring Files to Your Instance with WinSCP

    WinSCP is a GUI-based file manager for Windows that allows you to upload and transfer files to a rem ...

  9. Bootstrap的字体文件woff2 报错

    在iis上看到网站有个404,于是强迫症来了... 百度了许久,知道了解决办法,记下来,是网站默认没有支持这种字体 在 Web.config 的 system.webServer 节点中添加: 带标签 ...

  10. 【java基础学习】网络编程

    网络编程 InetAddress tcp udp