大部分时候,我们为了获得良好的视觉效果,只能在网页中大量使用图片,特别是各种透明变幻、叠加的效果,非图片不风骚。如今,CSS3带给广大的开发者更方便的领骚工具:RGBa!什么是RGBa?它是一种在CSS中声明包含透明效果的颜色的方法,它的语法是这样的:
div {
background: rgba(200, 54, 54, 0.5);
}
它允许我们为元素添加透明色。RGBA,顾名思义就是R+G+B+A,再具体点就是RED+GREEN+BLUE+ALPHA,翻译一下就是红+绿+蓝+Alpha透明的颜色。跟其他RGB颜色的区别就是多了一个A,就是我们可以设置透明效果,一个字母赋予了我们神一般的力量。
或许我们习惯了使用”opacity“,它很简单易用,但是,opacity会使所有的子元素都变成透明的,而且很难去解决这个问题。通过RGBa,我们可以将一个元素设置为透明,而不会影响其子元素。RGBA像RGB一样设置颜色,而这个”A”——RGBA中的最后一个值——许可我们设置该元素的透明度。就像opacity声明一样,一个opacity值为1的元素是完全不透明的,而一个opacity为0的元素是完全透明的。下面的例子(请确认您的浏览器支持哦):
www.mxria.com
www.mxria.com
www.mxria.com
www.mxria.com
www.mxria.com
其中用到了如下代码:
<div style="background: rgba(200, 54, 54, 0.1);width:400px;">www.mxria.com</div>
其中,表示半透明度的0.1前面的0是可以省掉的,直接.1也是可以的。该值依次增加,直到完全不透明成为实色。事实上,RGBA跟RGB一样,可以使用到任何需要颜色的地方,比如为DIV区块设置半透明的边框,例如
div {
color: rgb(0, 0, 0);
background-color: rgb(255, 255, 255);
border: 10px solid rgba(255, 255, 255, 0.3);
}
可以设置鼠标滑过时DIV发生变化,例如:
div {
color: rgba(255, 255, 255, 0.8);
background-color: rgba(142, 213, 87, 0.3);
}
div:hover{
color: rgba(255, 255, 255, 1);
background-color: rgba(142, 213, 87, 0.6);
}
如果加上JS的支持,你可以创意出各种各样变幻无穷的交互效果,是不是感觉拥有一大神器?但别高兴太早,IE低版本还是不给力,尽管IE8号称给予了支持,但实际上不给力。目前浏览器的支持情况如下(来自某个神奇人物的总结,最新的支持情况请到w3c官网了解):
浏览器、版本、平台 结果 后备
IE 4.01 无作用 没有颜色
IE 5.5 (PC via IETester) 无作用 没有颜色
IE 6 (PC via IETester) 无作用 实色
IE 7 无作用 实色
IE 8 无作用 实色
IE 9 支持
Firefox 3.6 (OS X) 作用 —
Firefox 3.0.5 (OS X) 作用 —
Firefox 3.0.5 (Windows XP, Vista) 作用 —
Firefox 2.0.0.18 (PC) 无作用 实色
Safari 4 (Developer Preview & 4.0.4, OS X) 作用 —
Safari 3.2.1 (OS X, Windows XP) 作用 —
Mobile Safari (iPhone) 作用 —
Opera 9.6.1 无作用 实色
Opera 10 Beta (Linux & Windows) 作用 —
Opera 10.10 (OS X) 作用 —
Google Chrome 0.4.154.33 (Windows XP) 作用 —
Google Chrome 1.0.154.46 (Windows XP) 作用 —
Google Chrome 4.0.249.49 (OS X) 作用 —
Netscape 4.8 (PC) 无作用 没有颜色
Navigator 9.0.0.5 Linus 无作用 实色
SeaMonkey 1.1.14 无作用 没有颜色
SeaMonkey 2.0 作用 —
Sunrise 1.7.5 作用 —
Stainless 0.2.5 作用 —
Flock 1.2.7 无作用 实色
Flock 2.0.2 作用 —
BlackBerry Storm Browser 作用 —
Camino 1.6.6 无作用 实色
Camino 2.0b1 作用 —
Iceape 1.1.14 (Linux) 无作用 实色
Kazehakase 0.5.2 (Linux) 无作用 实色
Avant 11.7 (Windows XP) 无作用 实色
正如上表所展示的,IE8及其以下都对实用的rgba颜色不支持,怎么办呢?接下来我们谈谈RGBA的高级应用。
1)低版本兼容
可以使用如下重定义的形式来解决
DIV{
color: rgb(127, 127, 127);
color: rgba(0, 0, 0, 0.5);
}
先设置rgb颜色在设置rgba颜色,这样不支持rgba属性的浏览器只会显示rgb颜色,而支持rgba的浏览器因为重定义的作用会显示rgba颜色。
2)背景使用png透明图片替代
div{
background: transparent url(black50.png);
background: rgba(0, 0, 0, 0.5) none;
}
相同透明度的PNG背景达到了和rgba一样的效果。当然,这得使用PS等图片编辑软件的支持。
3)针对IE,一个让你无法发嗲的货,怎么办?
IE6和IE7可以用IE的私用属性来解决,但只可以达到部分和rgba一样的效果。
div {
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr='#80000000', EndColorStr='#80000000');
}
注意StartColorStr和EndColorStr的值,前两位是十六进制的透明度,后面六位是十六进制的颜色。
二者再来一次重定义,就可以解决兼容性问题。
div{background:rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#80000000,endcolorstr=#80000000);
}
关于FILTER:progid:DXImageTransform.Microsoft.Gradient
最简单的使用如下:
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr=#AARRGGBB,endColorStr=i#AARRGGBB)
startColorStr:可选项。字符串(String)。设置或检索色彩渐变的开始颜色和透明度。
其格式为 #AARRGGBB 。 AA 、 RR 、 GG 、 BB 为十六进制正整数。取值范围为 00 – FF 。 RR 指定红色值, GG 指定绿色值, BB 指定蓝色值,参阅 #RRGGBB 颜色单位。 AA 指定透明度。 00 是完全透明。 FF 是完全不透明。超出取值范围的值将被恢复为默认值。
取值范围为 #FF000000 – #FFFFFFFF 。默认值为 #FF0000FF 。不透明蓝色。
EndColorStr:可选项。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。
总结:CSS3很多新特性,可以让开发人员风骚无比,可以不用再去找美工MM修改图片了,而是自己通过代码就获得很多漂亮的效果。只要你够嗲够骚,CSS3绝对是你领骚风尚的神器!
相关推荐
在CSS3中,RGBA(Red, Green, Blue, Alpha)是一...总之,学习并掌握CSS3中的RGBA功能,对于提升网页设计的专业性和创意性至关重要。通过利用RGBA,设计师可以创造出更具层次感和深度的网页效果,提供更好的用户体验。
《CSS3 实战》是一本深入探讨CSS3技术的专业书籍,对于想要提升Web设计技能的开发者来说,是不可或缺的学习资源。CSS3(层叠样式表3)是网页样式设计的标准,它极大地扩展了CSS2的功能,引入了许多新的特性和模块,...
在深入学习CSS3之前,首先我们需要理解什么是CSS。CSS,全称层叠样式表(Cascading Style Sheets),是用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的语言。自1996年CSS1规范发布以来,CSS已经成为...
【CSS基础学习】是网页设计领域中的重要环节,它是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。CSS(层叠样式表)让网页设计...开始探索这个丰富的资源库,开启你的CSS学习之旅吧!
hex-to-rgba将老式CSS十六进制颜色值字符串转换为rgba()字符串。 (可选)传入一个alpha值。 传递的alpha值将覆盖4或8位十六进制的任何alpha值。 如果您根本不输入任何Alpha值,我们将默认使用Alpha值1(完全...
在本文中,我们将深入探讨如何使用CSS3来创建引人入胜的烟花特效。CSS3是层叠样式表(Cascading Style Sheets)的第三版,它引入了许多新特性和功能,极大地扩展了网页设计的可能性,包括动画和特效。烟花特效就是...
CSS3引入了RGBA颜色模式,允许指定颜色的透明度,还有HSL和HSLA模式,使颜色控制更为直观。`opacity`属性可以调整元素的整体透明度。 10. **变形与旋转** `transform`属性可以对元素进行位移、旋转、缩放和倾斜...
而在CSS3中,我们可以通过`box-sizing`属性来选择使用何种盒模型,如`border-box`让边框和内边距包含在元素宽度和高度之内,实现更精确的布局控制。 接着,我们来看立体盒子的核心技术:边框阴影(box-shadow)。`...
在CSS3的学习中,我们面临着一系列丰富而实用的新特性,这些特性极大地提升了网页设计的灵活性和表现力。"一个有关CSS3学习的餐厅练习.rar"这个压缩包文件,显然是为了帮助学习者通过实际操作来掌握CSS3的核心概念和...
2. **边框与背景**:CSS3允许创建圆角边框(`border-radius`),透明边框(`border-color`与`rgba()`),以及多个背景图像(`background-image`)的叠加。 3. **阴影与渐变**:`box-shadow`和`text-shadow`属性为...
无论你是网页设计爱好者还是希望转行进入Web开发领域,这个"html5+css3从入门到精通"的教程都将是你理想的学习资源。通过系统学习和大量实践,你将能够创建出令人印象深刻且适应性强的现代网页。
3. **Border-radius**:这是CSS3中最受欢迎的特性之一,它允许你创建圆角边框。只需设置`border-radius`属性,就可以为元素的四个角设定半径,从而实现圆润的边缘效果。例如: ```css .border_test { border-radius...
- CSS3引入了更多颜色模式,如HSL(色相、饱和度、亮度)和RGBA(红、绿、蓝、透明度),允许更精细的颜色控制。同时,可以使用线性渐变(`linear-gradient`)和径向渐变(`radial-gradient`)作为背景,提供丰富的...
《CSS3 教程》是一份全面且深入的开源学习资料,旨在帮助初学者和有经验的开发者更好地理解和掌握CSS3这一强大的网页样式语言。CSS3是层叠样式表(Cascading Style Sheets)的最新版本,它为网页设计带来了许多新的...
8. **颜色与透明度**:CSS3引入了RGBA(红绿蓝阿尔法)和HSLA(色相、饱和度、亮度、阿尔法)颜色模型,允许我们直接设置颜色的透明度,以及更直观地调整色彩。 在这款"CSS3-login-form"文件中,我们可以看到这些...
通过学习这个“CSS3使用手册”,无论是初学者还是经验丰富的开发者,都能深入理解CSS3的精髓,提升网页设计和开发技能,为创建更具吸引力和功能性的现代网页打下坚实基础。无论是简单的布局调整,还是复杂的动态效果...
1. **RGBA与HSLA颜色模式**:除了传统的RGB颜色,CSS3还引入了带Alpha通道的RGBA和基于色调、饱和度、亮度的HSLA颜色模式,实现半透明效果。 2. **颜色函数**:`color()`函数可以计算和混合颜色,提供了更多色彩...
2. **颜色与背景**:CSS3允许使用 rgba() 和 hsla() 函数来定义具有透明度的颜色,以及 gradient 渐变背景,如线性渐变(linear-gradient)和径向渐变(radial-gradient),使得设计更具动态感。 3. **边框与边框-...