怎么让div透明,上面的文字不透明?

html-css06

怎么让div透明,上面的文字不透明?,第1张

设置div透明度的时候可能会遇到这样一个问题,那就是对象中的文字也被产生了透明现象,也不能说事缺陷,也可能有时候需要这样的效果。这里就介绍一下如何将对象设置为透明效果,但是文字不透。

rgba(),css3里才有的,所有只有支持css3的浏览器才支持,a是指透明度,取值0.0-1。

如果用opacity就感觉文字也透明了。影响外观,阅读。

还有一种兼容的方法,主要兼容不支持使用rgba()格式值的浏览器。

DIV本身就是块级元素,不需要设置。

如果想要行内元素变成块级元素:display:block

如果想要块级元素变成行内元素:dispaly:inline。

html-css 中让一个DIV的背景色是透明的,但它的内容(文字图片之类的)不是透明的,这个的话,是可以通过设置2个div来实现的,第一个包裹着第二个div然后在设置相同的div宽高,在将第一个的opacity为0;代码如下:

<div id='div1'>

<div id='div2'>

<p>我是测试文字</p>

</div>

</div>

<style>

div{

widht:220px

height:300px

}

#div1{

background:#fff

opacity:0

z-index:10

}

#div2{

z-index:11

}

</style>

这是常规背景加文字的写法:背景黑色透明0.7, 里面有一个黑色的div和文字

<div id="opacityBox" style="width:200pxheight:200pxbackground-color:#000000opacity:0.4">

  <div id="normalBox" style="width:100pxheight:100pxbackground-color:#000000">

    <p id="normalTxt" style="color:#ff6600">AAAAAAAA</p>

  </div>

</div>

由于css里父节点透明度会传递到子节点上,所以normalBox也透明了.看不到normalBox的黑色背景了,

如果要实现背景透明,文字不透明的话,需要使用定位,将背景和文字全部定位即可

参见下面的代码

<div id="opacityBox" style="position:absoluteleft:0top:0width:200pxheight:200pxbackground-color:#000000opacity:0.4"></div>

<div id="normalBox" style="position:absoluteleft:0top:0width:100pxheight:100pxbackground-color:#000000">

  <p id="normalTxt" style="color:#ff6600">AAAAAAAA</p>

</div>

opacityBox,normalBox都采用定位即可,效果如下