CSS3中各种颜色属性的使用教程

2020-05-07 06:21:11易采站长站整理

.rgba4 {   
 /* 没有指定 opacity 值时, 预设使用 0 */  
 background-color: rgba(204, 102, 102);   
}  

2016517115223803.png (255×70)

如果颜色值超出限定的范围时,则会用最接近的数值:

CSS Code复制内容到剪贴板

.rgba5 {   
 /* 超出范围, 所以变成最接近的 rgba(255, 0, 0, 1) */  
 background-color: rgba(300, -102, 0, 1);   
}  

2016517115250487.png (255×70)

只要是颜色值的部份都能使用 rgab() 来设定。但当要用程序来存取时,可能要注意一下各浏览器间的差异喔:

JavaScript Code复制内容到剪贴板

$(function(){   
 var str = ”;   
 $(‘div:not(#log)’).each(function(){   
  var $this = $(this);   
  str += ‘.’ + $this.attr(‘class’) + ‘ : ‘ + $this.css(‘background-color’) + ‘<br />’;   
 });   
 $(‘#log’).html(str);   
});  

hsl 及 hsla 颜色
在 CSS3 中新增了 HSL 及 HSLA 等两种跟颜色有关的属性。其中 H 为 hue(色相)、S 为 saturation(饱合度)、L 为 lightness(亮度)。HSLA 就跟 RGBA 一样,都是在原本的属性中多加入了不透明度的设定而已。

CSS Code复制内容到剪贴板

hsl(hue, saturation, lightness);   
    
hsla(hue, saturation, lightness, opacity);  

hue 为整数的角度值,基本上是从 0 到 360 之间,因为它是经过一个简单的计算来处理所输入的值:

CSS Code复制内容到剪贴板

(((x mod 360) + 360) mod 360)  

所以就算设定是 -10 的话,经过计算后它也会变换成 350。而 0 或 360 表示红色;60 表示黄色;120 表示绿色;240 表示蓝色。

saturation 的表示方式为百分比(%);100% 就是最大饱合度,而 0% 则为灰色调。lightness 的表示方式也一样是百分比(%);以 50% 为正常亮度为分界,百分比越高则会越接近白色(100%),而百分比越低则会越接近黑色(0%)。而 opacity 透明度允许的值为 0 到 1 之间带有小数的数值。

一样来看个简单的范例:

XML/HTML Code复制内容到剪贴板

<body>  
 <div class="hsl1">hsl(0, 50%, 50%)</div>