时间:2021-05-08
RGBa是一种在CSS中声明包含透明效果的颜色的方法,它的语法是这样的
复制代码代码如下:
div {
background: rgba(200, 54, 54, 0.5);
}
它允许我们为元素添加透明色。或许我们习惯了使用”opacity“,它很简单易用,但是,opacity会使所有的子元素都变成透明的,而且很难去解决这个问题。(除非使用怪异的定位hack) 跨浏览器透明同样颇为棘手。
通过RGBa,我们可以将一个元素设置为透明,而不会影响其子元素:
并非所有的浏览器支持RGBa,所以如果允许的话,可以声明一个保留色彩。这个色彩应该是可靠的——所有的浏览器都支持。不声明就意味着,在不支持RGBa的浏览器里面,没有使用颜色。
复制代码代码如下:
div {
background: rgb(200, 54, 54);
background: rgba(200, 54, 54, 0.5);
}
不过,这条退路在某些古董级浏览器中依然无效。
浏览器,版本,操作系统测试结果退路Firefox 3.0.5 (OS X, Windows XP, Vista)支持— Firefox 2.0.0.18 (PC)不支持纯色Safari 4 (Developer Preview, Mac)支持— Safari 3.2.1 (PC)支持— Mobile Safari (iPhone)支持— Opera 9.6.1不支持纯色IE 5.5 (PC via IETester)不支持无色IE 6 (PC via IETester)不支持纯色IE 7不支持纯色IE 8 beta 2不支持纯色Google Chrome 1.0.154.43支持— Google Chrome 1.0.154.46支持— Netscape 4.8 (PC)不支持没有颜色SeaMonkey 1.1.14不支持无色SeaMonkey 1.1.16不支持纯色SeaMonkey 2.0 beta3支持— Sunrise 1.7.5支持— Stainless 0.2.5支持–Flock 2.0.2支持–BlackBerry Storm Browser支持纯色Camino 1.6.6不支持纯色
上面的数据是通过测试demo得到的,该测试页面包含了更多更完整的浏览器兼容性列表。
因为IE浏览器支持条件注释,我们可以抛弃RGB并使用IE的一个私有CSS滤镜来实现同样的效果:
复制代码代码如下:
<!--[if IE]>
<style type="text/css">
.color-block {
background:transparent;
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);
zoom: 1;
}
</style>
<![endif]-->
4月29日更新:
经过神飞测试发现,RGBa颜色可以用于border,不过,不同的浏览器对于border的RGBa支持不太一样,不过唯一的不同是,FF在border的拐角处会出现叠加,比如透明度是0.4,那么在FF中,四个角的透明度会变成0.8,而支持RGBa的非FF浏览器不会出现这种情况。
译自:css-tricks声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面通过代码给大家讲解下,具体请看下文:IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObjec
rgba()是css3的新属性,所以IE8及以下浏览器不兼容,这怎么办呢?终于我找到了解决办法。解决办法我们先来解释以下rgbargba:rgba的含义,r代表
特性说明和原理图:标准浏览器和Ie9+浏览器都支持事件的冒泡和捕获,而IE8-浏览器只支持冒泡标准和Ie9+浏览器用stopPropagation()或canc
本文实例讲述了Android开发实现浏览器全屏显示功能。分享给大家供大家参考,具体如下:业务需求:浏览器设置中支持全屏显示的功能。分析:只需要在设置界面上增加是
Vivaldi:极客浏览器(又称韦瓦第浏览器)是一个由Opera团队打造的全新浏览器,基于Chromium/Blink内核,支持自定义安装目录,支持英语、日语、