-moz-opacity:0.8/*在Firefox中设置元素透明度
filter: alpha(opacity=80)/*ie使用滤镜设置透明
但是当我们对一个标签设置背景的透明度时,往往我们并不希望该标签上的文字图片也变成半透明了。
例如:
<div><p>不透明</p></div>
div{-moz-opacity:0.3filter:alpha(opacity=30)background:#000width:500px
height:500pxcolor:#F30font-size:32pxfont-weight:bold}
可以很明显的看出文字也被半透明的,这是我们不想看到的效果。
以前我曾经是绝对定位的方法解决这个问题,也就是现在的p并不是div的子元素。
<div></div>
<p>不透明</p>
这样div的半透明效果也就不会影响到元素p了。最后在将p定位到需要的位置。
但是很多时候这样的标签并不是很合理,有可能还会多浪费几个标签。
下面的这种方法就可以解决上面的问题了:
div{background:rgba(0,0,0,0.2) none repeat scroll !important/*实现FF背景透明,文字不透明*/
background:#000filter:Alpha(opacity=20)/*实现IE背景透明*/
width:500pxheight:500pxcolor:#F30font-size:32pxfont-weight:bold}
div p{ position:relative}/*实现IE文字不透明*/
用span标签吧示例文件:
<!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/htmlcharset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
div{
display:table
width:200px
height:200px
border:#FFCC00 1px solid
}
div span{
background-color:#CCCCCC
}
</style>
<script language="javascript" type="text/javascript">
function bg(){
var txt=document.getElementsByTagName("div")
txt[0].innerHTML="<span>"+txt[0].innerHTML+"</span>"
}
window.onload=bg
</script>
</head>
<body>
<div>ddddddfererwerewdfwerewr测试文字,文字测试,测试文字。Powerby:<a href="http://www.wxwdesign.cn">wxwdesign.cn</a></div>
</body>
</html>