43 Comments

  1. ray
    ray October 12, 2011 at 2:16 pm . Reply

    我又来了。opacity原来是继承的啊。

  2. Kimcool
    Kimcool October 12, 2011 at 2:16 pm . Reply

    我个人不是很喜欢透明,还是比较喜欢一个白底的。。

  3. 骞
    October 12, 2011 at 2:39 pm . Reply

    学习了,虽然滤镜不会用……

  4. wheato
    wheato October 12, 2011 at 2:53 pm . Reply

    学习了,以后有项目需要的时候就能使用了。

  5. w-school
    w-school October 12, 2011 at 3:42 pm . Reply

    一直使用第一种方法,没研究这么细,如果一张图片的标题背景透明浮动于图片之上,不用定位用margin-top负值,透明的标题背景用background:rgba(0, 0, 0, 0.3);实现,则标题背景会跑到图片下面,opacity:0.3;则不会

  6. 夜色倾城
    夜色倾城 October 12, 2011 at 3:49 pm . Reply

    不是做这行的,平常自己做主题,就直接RGBA了,不兼容就不兼容吧,既然用IE,看不到炫丽的效果也不能怪我了,世界变化你不变,享受不到新科技的好处,这只能怪你自己。

  7. 愚人码头
    愚人码头 October 12, 2011 at 4:42 pm . Reply

    提供一个背景色透明的颜色转换工具:http://www.css88.com/demo/hex_color/

    1. diva
      diva August 30, 2012 at 6:00 am . Reply

      嘿嘿,一直用码头的这个小工具。。很好。

  8. ktmud
    ktmud October 12, 2011 at 5:43 pm . Reply

    直接 :root .rgba { filter: none } 啊

  9. 峰子
    峰子 October 12, 2011 at 10:30 pm . Reply

    实际上,rgba我在做一个主题的时候就已经使用,但是并不兼容ie,在ie没有找到很好的解决方法,所以决定在ie不半透明。原来还有一个滤镜,确实不错。

  10. Alan
    Alan October 13, 2011 at 9:59 am . Reply

    之前就是弄一个空div做背景透明,然后再把内容叠上去,这个方法必须得挺啊

  11. linxz
    linxz October 13, 2011 at 12:32 pm . Reply

    @愚人码头: 我勒个擦,码头,出错信息没填好~~~

  12. linxz
    linxz October 13, 2011 at 12:33 pm . Reply

    小鱼,如果可以话,用半透明的PNG24图也是一种方法,IE6用滤镜,滤镜有一个属性我记得好像是拉伸(如果没记错的话),那么也就可以实现自适应了。嘻嘻。

    不过最好的办法应该是差异化,不支持RGBA的就不透明。

  13. 愚人码头
    愚人码头 October 13, 2011 at 12:34 pm . Reply

    @linxz: 昨天我本来想把出错信息给直接咔嚓掉的,一个小工具还要什么出错提示啊!

  14. linxz
    linxz October 13, 2011 at 3:33 pm . Reply

    @愚人码头: 小工具为什么就不能有提示呢,给用户一个好的体验嘛,嘻嘻。

  15. linxz
    linxz October 13, 2011 at 3:34 pm . Reply

    @sofish: 鱼和熊掌不可兼得啊,使用滤镜的时候其实已经在消耗资源了,所以干脆就分级策略,让低端浏览器不透明吧。

  16. [...] 时间:2011年10月13日作者:愚人码头查看次数:1 views评论次数:0 关于这个大家可以看两篇文章小志的《使用IE过渡滤镜和CSS3中的RGBA属性完成背景色透明效果》和小鱼的《背景半透明最佳实践》,这里就不展开了,这里提供一个小志的CSS背景颜色属性值转换工具,并在他的基础上做了少许的修改,还有就是被小志严重鄙视的去掉了提示!嘎嘎! [...]

  17. 软件志
    软件志 October 14, 2011 at 5:53 am . Reply

    半透明的东东视觉效果不错

  18. Rainbow
    Rainbow October 16, 2011 at 10:26 pm . Reply

    优雅降级,非常好的思想,就是有的时候还是被苦逼了,剩下的就是悲剧了!

  19. lxliori
    lxliori October 17, 2011 at 11:17 am . Reply

    已经用到项目中,感谢分享

  20. feimos'blog » 半透明和自适应
    feimos'blog » 半透明和自适应 October 17, 2011 at 3:52 pm .

    [...] sofish:背景半透明最佳实践 阅读全文>> 标签: css , html , IE6 , IE9 , 半透明 , 滤镜 , 绝对定位 , 继承 , [...]

  21. 付正宗
    付正宗 October 17, 2011 at 5:13 pm . Reply

    opacity指的是不透明度,楼主理解有误,鉴定完毕~

  22. wmtimes
    wmtimes October 21, 2011 at 12:47 am . Reply

    图片吧。再加js

  23. hsinglin
    hsinglin October 21, 2011 at 11:27 am . Reply

    刚好项目用到了~~哈哈~~

  24. 峰子
    峰子 October 23, 2011 at 10:13 pm . Reply

    滤镜后加上这句就ok:background:none9;

  25. 胡尐睿丶
    胡尐睿丶 November 3, 2011 at 10:23 am . Reply

    @ray: 而且是强制继承,无法解除

  26. 宝宝健康成长
    宝宝健康成长 November 9, 2011 at 3:21 am . Reply

    又没有ie6啥事,该杀的

  27. 袁源
    袁源 November 11, 2011 at 6:35 pm . Reply

    一般遇到的都是 png-24 图片的半透明

  28. Joe
    Joe November 23, 2011 at 9:56 am . Reply

    话说透明层如果设置了background属性的话,在IE7、6 rgba透明会失效。

  29. wyysf
    wyysf November 29, 2011 at 9:16 pm . Reply

    我做的有个项目就有个类似的,主要是高度还要自适应,所以多写个层定位不靠谱了,最后我才用的还楼主的方法相同,郁闷的是最后他们把它还给去掉了!唉~~~

  30. watert
    watert December 7, 2011 at 11:52 pm . Reply

    事实上在这方面有个CSS3工具简直是神器,不过可惜文字和BOX阴影、圆角貌似仍然没有很好的解决方案(阴影问题似乎可以用HTA+VML实现,但我引入到实际项目中时总会出问题……)
    http://www.colorzilla.com/gradient-editor/

  31. 海六
    海六 December 21, 2011 at 12:55 pm . Reply

    很牛的博客!

  32. vimest
    vimest December 26, 2011 at 2:29 pm . Reply

    两种滤镜在ie上还是有区别的。
    如常见的弹出框,弹出后其它区域变为黑色透明,如果这个黑色透明的元素用opacity和opacity滤镜来写,除了会影响后代元素外就没什么大的问题了。
    但如果用背景rgba的和rgba滤镜写的话,虽说不会影响后代元素,但在ie678下却有个bug,就是被遮住的链接,能选择,hover的时候有变化,点击后还能跳转。
    具体看这demo:
    http://vimest.github.com/ieFilter.html

    1. 吖坚
      吖坚 November 3, 2012 at 4:04 pm . Reply

      可以加一句:background-image:url(about:blank)

  33. cougar
    cougar December 29, 2011 at 10:08 am . Reply

    如果不想用滤镜,可不可以用png+dd_belatedPNG实现,不过这个方法比滤镜麻烦些。

  34. 耗子
    耗子 February 3, 2012 at 3:16 pm . Reply

    @cougar: belatedPNG底层还是很耗性能的vml

  35. 312166304
    312166304 February 20, 2012 at 10:23 am . Reply

    ie下给子元素添加relative就可以

  36. qiqiboy
    qiqiboy February 29, 2012 at 10:51 am . Reply

    所谓最佳实践还是太麻烦了些,代码又多,我会用一个绝对定位的空div作为背景,设置半透明,这样就行了,绝对兼容各个浏览器,也没有图片。。

  37. wenbin
    wenbin December 17, 2012 at 3:48 am . Reply

    不错,之前都没注意ie9会重叠

  38. Ygs
    Ygs April 24, 2013 at 5:47 am . Reply

    如果用JS呢?

  39. 昔影
    昔影 May 6, 2013 at 2:54 pm . Reply

    ie下用滤镜要无背景色,那么再加绝对定位有层叠的话,光标是可以穿透层的。

Post Comment