弹出层的效果。UI的同学效果做的还挺漂亮的,类似截图如下
就是半透明的
今天找到一个比较优的解决方案,使用 RGBA.
先是说说 RGB, RGB色彩模式(也翻译为“红绿蓝”,比较少用)是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
RGBA在RGB的基础上多了控制alpha透明度的参数。以上R、G、B三个参数,正整数值的取值范围为:0 – 255。百分数值的取值范围为:0.0% – 100.0%。超出范围的数值将被截至其最接近的取值极限。并非所有浏览器都支持使用百分数值。A参数,取值在0~1之间,不可为负值
RGBA语法:
.div {background: rgba(0,0,0,0.5);}
RGBA和opacity的区别
opacity (filter: Alpha(Opacity=50) 或opacity:0.5)会使整个元素包括子元素透明,而RGBA仅仅是元素本身透明,子元素不透明。
下面具体讲讲怎样让IE浏览器支持RGBA颜色。
IE下RGBA写法
.div { filter:progid:dximagetransform.microsoft.gradient (startcolorstr="#66000000", endcolorstr="#66000000",gradienttype=0);} /*ie9已经支持rgba模式了*/ :root .div{filter:none;}
DXImageTransform.Microsoft.gradient
RGBA颜色还可以用于border,不过,不同的浏览器对于border的RGBa支持不太一样,不过唯一的不同是,Firefox在border的拐角处会出现叠加,比如透明度是0.4,那么在Firefox中,四个角的透明度会变成0.8,而支持RGBa的非FF浏览器不会出现这种情况。