至于第二种,这是现在比较流行的处理方式。不过这种方式也不是那么完美,这个缺憾表现在:
这个时候CSS3 RGBA的优势就体现出来了,从字面看,RGBA = RGB + alpha。但事实上RGBA并不是简单的RGB与alpha的相加。请看例子CSS3 RGBA color详解中几种颜色类型的对比。 我们知道opacity(IE下用filter:alpha(opacity=??))是让整个元素渲染成半透明的效果,而不能单独指定是否只有颜色为半透明。我想这也许正是RGBA和HSLA这种类型颜色的出现原因。 RGBA的语法非常简单,如果你熟悉RGB颜色话。 rgba(0-255,0-255,0-255,0-1) 这就是RGBA的语法,前三个参数为色调,取值可在0-255之间,第四个参数则为alpha,取值为0-1之间。 以上面的需求第2点为例,用RGBA可以这样表示 background-color:rgba(0,0,0,.5); 这样就只有背景色为半透明,其它的俱不受影响。最大的问题被轻松搞定,那整个需求即变得异常简单起来,迟疑什么?立即看看用CSS3 RGBA实现的背景透明内容不透明效果吧。 而之前在第二种实现方案中所提及的2个缺憾,在RGBA的实现方案中,似乎根本不存在。 现在相信你也能体会到RGBA这种颜色类型的强大力量。CSS3离你还远吗? (责任编辑:admin) |