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

总结CSS3新特性(颜色篇)_html/css_WEB-ITnose

程序员文章站 2022-05-16 08:37:09
...

颜色:

CSS3新增加了hsl(), hsla(), rgb(),rgba()四个函数来创建color值;

hsl():

hsl函数:h(色调),s(饱和度),l(亮度);

色调:为0-360之间的数值[经实验,可以为小数];

饱和度与亮度:均为百分比;

下图截自http://www.w3.org/wiki/CSS/Properties/color/HSL

当亮度为100%时为白色,当亮度为0%为黑色;

饱和度100%以及亮度50%时生成的颜色均为web安全色

rgb():

rgb函数:r(red),g(green),b(blue)[计算机三原色];

值可以为0-255任意整数或百分比;

如超出范围,取最近的有效值:

em { color: rgb(300,0,0) }       /* clipped to rgb(255,0,0) */em { color: rgb(255,-10,0) }     /* clipped to rgb(255,0,0) */em { color: rgb(110%, 0%, 0%) }  /* clipped to rgb(100%,0%,0%) */

下图截自http://www.w3.org/wiki/CSS/Properties/color/RGB

有一点需要注意,百分比与数值不能同时出现在一个rgb函数中;

rgba()与hsla():

这两位与上边两位的区别在于后边的a(alpha)透明度;

透明度为0-1之间的数值,0为全透明,1为全不透明,利用透明度可以做出很多好看的效果

一个简单的例子(当然了- -这个例子不算好看)

上例中用到了一个类似于变量的单词(currentColor[大小写不区分])

currentColor可用于所有设置颜色属性的地方.

取值为当前元素的color属性值,如果没有,寻找父级,一直到根元素,如果都没有设置的话,不要担心,还有浏览器代理的默认颜色.

w3官方有一个简短的解释,如果元素color属性值为currentColor的话,则视为 'color:inherit';

比较实用的一个地方就是,设置元素边框颜色,颜色(color),等等属性时,只需设置颜色(color);后续更改时也只需修改一处,子元素也可直接继承使用currentColor,但需要确保子元素没有显示声明color属性值;

还有用到了两个长度单位(vw,vh)取值范围[0-100]

100vw为屏幕宽度;

100vh为屏幕高度;

还存在两个值,vmax与xmin,分别是取出宽高最大或最小值;

vw与vh可参与calc()的计算;

顺便介绍下 opacity:

opacity用来设置元素的透明度:(取值为0-1)

IE8可用替代的

 filter:Alpha(opacity=50) /*0-100*/

来实现透明度;

颜色基本上就这些了,如有错误或补充还请指出(无视transparent...)

参考资料