css3带来了许多新的特性,这里来看一个新的特性,rgba
rgba的含义,r代表red,g代表green,b代表blue,红绿蓝是三原色。所有颜色都可以由这三种颜色拼合而成。a代表透明度。比如rgba(255,255,255,0.1)就是透明度为0.1的白色。对r,g,b设置不同的值,可以产生不同的颜色。
相比与传统的opacity的方法的优势。opacity方法,对父元素使用调整透明度是,子元素的透明度也会改变,对于一些弹出层来说,很不方便。例如:
结果如图:
这样会使里面的字体透明度降低,rgba就很好的解决了这个问题,对li的background属性设置rgba,子元素字体不会受到影响,如下:
结果如图:
以上代码使用了:
filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#C8FFFF00,endcolorstr=#C8FFFF00);
来解决ie8的兼容性问题。
前两个字符代表了透明度,后面6位对应了rgb(255,255,0)的3位数字,将其转换为十六进制,例如以上转换为#C8FFFF00;
透明度的转换参考下表:
rgba透明值 | filter前两位 |
0.1 | 19 |
0.2 | 33 |
0.3 | 4C |
0.4 | 66 |
0.5 | 7F |
0.6 | 99 |
0.7 | 82 |
0.8 | C8 |
0.9 | E5 |