以背景黑色,透明度0.5举例为大家详细介绍下关于背景透明,文字不透明的最佳方法同时兼容IE,具体实现如下,感兴趣的朋友可以参考下哈希望对大家有所帮助
以背景黑色,透明度0.5举例
非IE:background:rgba(0,0,0,0.5);
IE: filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);
PS:#7f000000 其中7f是透明度0.5转换成16进制的数值,000000是黑色的16进制数值
具体数值转换可以参考
rgba 和IE下filter数值的转换
rgba 透明值 IEfilter值
0.1 | 19 |
0.2 | 33 |
0.3 | 4C |
0.4 | 66 |
0.5 | 7F |
0.6 | 99 |
0.7 | B2 |
0.8 | C8 |
0.9 | E5 |
直接取整计算的,没有进位直接舍去
alpha*255再转换成16进制即可
我个人认为这个写法是最好的,无需单独定义背景层,代码精简,本人一直在用,兼容IE6,有更好的解决办法,欢迎留言探讨