本例是一个兼容IE6/IE7/IE8和火狐浏览器的css实现半透明层效果,之前本人也遇到过这样的问题,就是把一个层设置半透明后,内的文字也 跟着半透明了,一直没找到合适的解决办法,今天看到designcss.org有一篇文章解决了这个问题,但有一点,发现在filter前边多加一个星 号,多加个星号是为了让IE6和IE7执行,火狐和IE8就不执行了,火狐本身来讲就不支持IE特有的滤镜功能,所以这里没必要再加星号。还有就是不支持 IE8浏览器,经过研究,查阅大量资料,终于找到解决办法了,下面分享出来。
css用到的\9是css hack的写法,是为了兼容不同的浏览器而使用的
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>兼容ie6,ie7以及firefox的css透明滤镜,文字不继承其透明属性</title>
- <style type="text/css">
- #container{ border:1px solid #c00; background-color:rgba(212,0,0,0.5); background:#f00\9; filter:alpha(opacity=50); width:500px; margin:40px auto; line-height:200%; font-size:14px; padding:14px;}
- #container *{ position:relative;}
- </style>
- </head>
- <body>
- <div id="container">
- <span>我是内容我是内容我是内容我是内容我</span>
- </div>
- </body>
- </html>