日期:2014-05-16 浏览次数:20440 次
http://www.exp2up.com/2010/01/11/js%E5%AE%9E%E7%8E%B0%E8%83%8C%E6%99%AF%E9%80%8F%E6%98%8E%E5%BA%A6%E5%8F%AF%E5%8F%98%EF%BC%8C%E6%96%87%E5%AD%97%E4%B8%8D%E9%80%8F%E6%98%8E%E7%9A%84%E6%95%88%E6%9E%9C/
?
?
?
?
最近项目里需要实现这么个功能,类似网游中的聊天框,背景都是透明的,但是文字是不透明。
所以如果简单的使用opacity(非IE)和alpha滤镜(IE)是无法实现这个效果的,会造成全部透明。
解决办法如下:
1.实现完全透明:
?
设置background为transparent即可,两个浏览器通用
2.实现透明度可调节:
要求改透明度,这里IE和非IE需要分开处理
非IE浏览器可通过支持CSS3的方式处理(不支持CSS3的这里忽略了),css的写法是
background-color:rgba(255,255,255,0.5)
前面3个参数是RGB,最后个是透明度
IE浏览器需要使用gradient滤镜,css写法是
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)
摘录CSS手册说明用法:
语法:filter : progid:DXImageTransform.Microsoft.Gradient ( enabled= bEnabled , startColorStr= iWidth , endColorStr= iWidth )属性:
enabled : 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
true : 默认值 。滤镜激活。 false : 滤镜被禁止。 startColorStr : 可选项。字符串(String)。设置或检索色彩渐变的开始颜色和透明度。 其格式为 #AARRGGBB 。 AA 、 RR 、 GG 、 BB 为十六进制正整数。取值范围为 00 – FF 。 RR 指定红色值, GG 指定绿色值, BB 指定蓝色值,参阅 #RRGGBB 颜色单位。 AA 指定透明度。 00 是完全透明。 FF 是完全不透明。超出取值范围的值将被恢复为默认值。
取值范围为 #FF000000 – #FFFFFFFF 。默认值为 #FF0000FF 。不透明蓝色。
EndColorStr : 可选项。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。 特性:
Enabled : 可读写。布尔值(Boolean)。参阅 enabled 属性。 GradientType : 可读写。整数值(Integer)。设置或检索色彩渐变的方向。1 | 0
1 : 默认值 。水平渐变。 0 : 垂直渐变。 StartColorStr : 可读写。字符串(String)。参阅 startColorStr 属性。 StartColor : 可读写。整数值(Integer)。设置或检索色彩渐变的开始颜色。 取值范围为 0 – 4294967295 。 0 为透明。 4294967295 为不透明白色。 EndColorStr : 可读写。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。 EndColor : 可读写。整数值(Integer)。设置或检索色彩渐变的结束颜色。 取值范围为 0 – 4294967295 。 0 为透明。 4294967295 为不透明白色。当在脚本中使用此特性时,也可以用十六进制格式: 0xAARRGGBB 。 说明:在对象的背景和内容之间显示定制的色彩层。当此效果通过转变显示时,在渐变册色彩层之上的文本程序性的初始化为透明的,当色彩渐变实现后,文本颜色会以其定义的值更新。