css里怎么给背景图片变透明点 给图片的div加什么代码才能实现呢

html-css011

css里怎么给背景图片变透明点 给图片的div加什么代码才能实现呢,第1张

1、新建html文档,在body标签中添加一个img标签,这时默认情况下图片是不透明的:

2、在head标签中添加style标签,在style标签中为img标签设置透明度样式,其中三个属性是为了兼容不同浏览器:

3、刷新浏览器中的页面,这时可以发现浏览器中图片的透明度改变了,透明度的范围是0-1,0表示完全透明,1表示不透明:

设置元素的透明度:

-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文字不透明*/