2023年6月21日发(作者:)
CSS通过RGBa将⼀个元素设置为透明效果RGBa是⼀种在CSS中声明包含透明效果的颜⾊的⽅法,它的语法是这样的:
复制代码代码如下:div {
background: rgba(200, 54, 54, 0.5);
}
它允许我们为元素添加透明⾊。或许我们习惯了使⽤”opacity“,它很简单易⽤,但是,opacity会使所有的⼦元素都变成透明的,⽽且很难去解决这个问题。(除⾮使⽤怪异的定位hack) 跨浏览器透明同样颇为棘⼿。
通过RGBa,我们可以将⼀个元素设置为透明,⽽不会影响其⼦元素:
声明⼀个保留颜⾊
并⾮所有的浏览器⽀持RGBa,所以如果允许的话,可以声明⼀个保留⾊彩。这个⾊彩应该是可靠的——所有的浏览器都⽀持。不声明就意味着,在不⽀持RGBa的浏览器⾥⾯,没有使⽤颜⾊。
复制代码代码如下:div {
background: rgb(200, 54, 54); /* The Fallback */
background: rgba(200, 54, 54, 0.5);
}
不过,这条退路在某些古董级浏览器中依然⽆效。
RGBa的浏览器⽀持情况
上⾯的数据是通过测试demo得到的,该测试页⾯包含了更多更完整的浏览器兼容性列表。
对IE浏览器的更好的退路
因为IE浏览器⽀持条件注释,我们可以抛弃RGB并使⽤IE的⼀个私有CSS滤镜来实现同样的效果:
复制代码代码如下:
2023年6月21日发(作者:)
CSS通过RGBa将⼀个元素设置为透明效果RGBa是⼀种在CSS中声明包含透明效果的颜⾊的⽅法,它的语法是这样的:
复制代码代码如下:div {
background: rgba(200, 54, 54, 0.5);
}
它允许我们为元素添加透明⾊。或许我们习惯了使⽤”opacity“,它很简单易⽤,但是,opacity会使所有的⼦元素都变成透明的,⽽且很难去解决这个问题。(除⾮使⽤怪异的定位hack) 跨浏览器透明同样颇为棘⼿。
通过RGBa,我们可以将⼀个元素设置为透明,⽽不会影响其⼦元素:
声明⼀个保留颜⾊
并⾮所有的浏览器⽀持RGBa,所以如果允许的话,可以声明⼀个保留⾊彩。这个⾊彩应该是可靠的——所有的浏览器都⽀持。不声明就意味着,在不⽀持RGBa的浏览器⾥⾯,没有使⽤颜⾊。
复制代码代码如下:div {
background: rgb(200, 54, 54); /* The Fallback */
background: rgba(200, 54, 54, 0.5);
}
不过,这条退路在某些古董级浏览器中依然⽆效。
RGBa的浏览器⽀持情况
上⾯的数据是通过测试demo得到的,该测试页⾯包含了更多更完整的浏览器兼容性列表。
对IE浏览器的更好的退路
因为IE浏览器⽀持条件注释,我们可以抛弃RGB并使⽤IE的⼀个私有CSS滤镜来实现同样的效果:
复制代码代码如下:
发布评论