欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

CSS3中Color的一些特性介绍

程序员文章站 2023-11-30 15:19:58
CSS3 Color特性包括 在传统的hex 和RGB 值中增加了HSL特性,也就是增加了Opacity(透明度)和Alpha channels... 12-05-27...
1.css 简介
css(cascading style sheets),我们都不陌生吧。特别是我们在开发web项目的时候,用的更是不亦乐乎。

可是,你知道吗?css(注意 也就是css1)是在1996年的时候产生的标准,也就是到现在时隔(2012-1996)差不多15年的历史。毕竟时间在一直的走嘛,现在css3也在使用中,不过需要注意的是,css3并非是w3c的一个标准,它现在依旧是草案(working draft)状态,而不是最终的稳定版---w3c推荐。

据目前所知,css3已经增加了40多种模块(module),既然还是草案,所以以后就还有增加的可能。所以,用我们的祈祷吧,希望css3赶快成为标准。那个时候我们程序员才是解放的时候。

在这篇文章中,我们会讨论一下css3中新增的40多个模块中的一个模块----color模块。color模块,比其他的模块更加的稳定。事实上,在2011年6月的时候,它就已经成为了w3c的推荐了,也就是标准了。

这新的css3 color特性包括 在传统的hex 和rgb 值中增加了hsl特性,也就是增加了opacity(透明度)和alpha channels。

2.hsl colors
在我们传统开发web网页的时候,我们在使用下面的关键字来进行对html和css进行颜色的设定。

color 关键字 (aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, and yellow)
hexadecimal(16进制) 表示法
rgb (red,green,blue)表示法

比如,如下实例:

复制代码
代码如下:

.keyword { color: white; }//关键字表示法
.shorthex { color: #fff; } //短的16进制表示法
.longhex { color: #ffffff; } //长16进制表示法
.rgb1 { color: rgb(255, 255, 255); } //rgb1 通过值
.rgb2 { color: rgb(100%, 100%, 100%); } //rgb2 通过百分比

对上面的表示,我们都不陌生。

那么,在css3中的hsl怎么表示以及是什么意思呢?

hsl格式:

.example { color: hsl([hue], [saturation], [light]); }用的也很简单:

.implemented { color: hsl(240, 50%, 80%); }
那这三个单词什么意思呢?

h(hue)色调:0和360是红色,接近120的是绿色,240是蓝色。w3c提供了一些对h色调有用的值:tables of hue andsaturation values,当然也还有其他的工具可以生成hue的值,比如下面提到的hsl color picker在线工具。

s(saturation,饱和度)值是一个百分比:0%是灰度,100%饱和度最高

l(lightness,亮度)值也是一个百分比:0%是最暗,50%均值,100%最亮。

hsl color picker是一个用来取hsl颜色的工具。界面如下:

CSS3中Color的一些特性介绍

hsl浏览器兼容性:

目前hsl和hsla被firefox、google chrome、和safari浏览器较好的支持,而且不需要任何前缀修饰。

实例:

复制代码
代码如下:

#left { color: hsl(240, 0%, 50%); }
#center { color: hsl(240, 50%, 50%); }
#right { color: hsl(240, 100%, 50%); }

结果:

CSS3中Color的一些特性介绍

ok,那我们现在来调整一下:
ok,那我们现在来调整一下:

复制代码
代码如下:

#left { color: hsl(240, 100%, 0%); }
#center { color: hsl(240, 100%, 50%); }
#right { color: hsl(240, 100%, 100%); }

CSS3中Color的一些特性介绍

其实,也简单,说真的,我也不懂为什么要增加这种方增加颜色的方法。呵呵 不过也好,多一种方法把~。总归有好处的,不是吗?

opacity(透明度) 和gradients(渐变)
另外一个和颜色相关的css3属性是 alpha 通道(channel)和opacity(透明度)。基本上来说
作者:lanny☆兰东才