-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文字不透明*/
亲,我们经常会使用到背景图片,但有时候需要把背景图片设置一个半透明的效果,那么就需要以下的CSS了。这是一个CSS滤镜达到的效果,应用十分广泛。.modbr{filter:alpha(opacity=80)-moz-opacity:0.8width:auto !importantwidth:100%}
注:
代码应用的式CSS中的Alpha滤镜,这个滤镜可以设置目标元素的透明度。还可以通过指定坐标,从而实现各种不同范围的透明度。具体语法如下:
{filter:alpha(opacity=#opacity,finishopacity=#finishopacity,
style=#style,startx=#startx,starty=#starty,finishx=#finishx,finishy=#finishy)}
具体参数含义如下:
“opacity”表示透明度调节,范围在0-100,0表示完全透明,100表示完全不透明。
“finishopacity” 是一个可选参数,如果想要设置渐变的透明效果,就可以使用他们来指定结束时的透明度。范围也是0 到 100。
“style” 指定透明区域的形状特征:0 代表统一形状,1 代表线形,2 代表放射状,3 代表矩形
“startx” 渐变透明效果开始处的 X坐标。
“starty” 渐变透明效果开始处的 Y坐标。
“finishx” 渐变透明效果结束处的 X坐标。
“finishy” 渐变透明效果结束处的 Y坐标。
以上的参数可以选用,可以只设置一个opacity
如果设置成下面代码,就表示背景式半透明的:
{filter:alpha(opacity=50)}