本例是一個兼容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" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="//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>