css设置透明度不影响子元素

末蓝、 2022-06-13 07:18 749阅读 0赞
  1. <body>
  2. <div style="background-color:rgba(0,255,0,0.2);">
  3. 显示文字
  4. </div>
  5. </body>

通过RGBA设置透明度,只有最新的浏览器支持,支持IE9+,可通过RGBA的alpha通道的方式设定。
前三个值是rgb的颜色值,最后一个透明度的值,取值为0~1,值越小越透明。

兼容所有浏览器写法:

  1. background-color:rgba(0,0,0,0.25);
  2. filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr=#40000000,endColorstr=#40000000);

注意:startColorStr 和 endColorStr 的值,前两位是十六进制的透明度,后面六位是十六进制的颜色。

其格式为 #AARRGGBB 。 AA 、 RR 、 GG 、 BB 为十六进制正整数。取值范围为 00 - FF 。 RR 指定红色值, GG 指定绿色值, BB 指定蓝色值,参阅 #RRGGBB 颜色单位。 AA 指定透明度。 00 是完全透明。 FF 是完全不透明。超出取值范围的值将被恢复为默认值。

2位透明度的换算方法:x=alpha*255 ,将计算的结果 x 转换成十六进制即可。

js换算16进制方法: x.toString(16)

例如:上面的 0.25 透明度,换算为IE的AA透明度: var a = 0.25 * 255 = 63.75 ~= 64; a.toString(16) = 40

例:给input设置透明度并不影响子元素(兼容IE8)

  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8"/>
  4. <style type="text/css"> body{ margin:0;padding:0;} .div_content{ background: url("1.gif") no-repeat; /*给input框添加背景图片,以凸显其透明效果。*/ width: 200px; height: 200px; } .div_content>input{ outline: none; border: none; background-color: transparent; /*必须将背景色设为透明,否则无效。(除非对于要设置的元素本身已经是透明的,如:span元素等)*/ background-color: rgba(0,0,0,0.25); filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#40000000,endColorstr=#40000000); } </style>
  5. </head>
  6. <body>
  7. <div class="div_content">
  8. <input type="text" size="20"/>
  9. </div>
  10. </body>
  11. </html>

发表评论

表情:
评论列表 (有 0 条评论,749人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CSS字体透明度怎么设置

    在css中有很多好看的样式都可以实现,css设置出来的样式让整个网页看起来也会非常美观,今天的这篇文章就给大家来介绍一下在css中怎么设置字体的透明度,让你的字体在网页中...