css颜色模式 hsla 和 rgba

css颜色模式 hsla 和 rgba

在CSS3中可以使用RGBA和HSLA两种颜色模式(css3新特性),这两个都可以用来设置颜色以及指定透明度。

那么什么是RGBA和HSLA颜色模式呢?
1、什么是 RGBA?

RGBA(R,G,B,A)

取值介绍:
R:红色值。正整数 | 百分数
G:绿色值。正整数 | 百分数
B:蓝色值。正整数 | 百分数
A:Alpha透明度。取值0~1之间。

注意:
此色彩模式与RGB相同,只是在RGB模式上新增了Alpha透明度。
IE6.0-8.0不支持使用 rgba 模式实现透明度,可使用 IE 滤镜处理,如:

filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#88000000, endColorstr=#88000000);

//#88000000 的前两位数字控制透明度,取值16进制从00 -> FF(越小越透明),
//00表示完全透明,FF就是全不透明,后面六位是色值。

拓展:
DXImageTransform.Microsoft.gradient 滤镜里的 startColorstr 参数值是 #AARRGGBB 形式的, 其中的AA是代表不透明度的十六进制,00表示完全透明,FF就是全不透明,化成十进制的范围就是0~255,剩下的 RRGGBB 就是颜色的十六进制代码。

举例如:
background: rgba(125, 0, 0, .3); 表示的是30%不透明度的红色背景。把30%的不透明度转换成十六制呢的方法如下:先计算#AA的的十进制x,x/255 = 3/10,解得x=3*255/10,然后再把x换算成十六进制,约等于4C。

常用透明度对应16进制关系:
.0(00) .1(19) .05(0C) .15(26)
.2(33) .3(4C) .25(3F) .35(59)
.4(66) .5(7F) .45(72) .55(8C)
.6(99) .7(B2) .65(A5) .75(BF)
.8(CC) .9(E5) .85(D8) .95(F2)

····················································································································································

2、什么是 HSLA?

HSLA(H,S,L,A)

取值介绍:
H:Hue(色调)。0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 - 360
S:Saturation(饱和度)。取值为:0.0% - 100.0%
L:Lightness(亮度)。取值为:0.0% - 100.0%
A:Alpha透明度。取值0~1之间。

直白点讲,H就是来控制颜色的变化(这个最好理解),S就是控制颜色的浓淡,L来控制亮度,100%是白色,0%是黑色,不论是那种颜色或者饱和度,A是透明度。

注意:
此色彩模式与HSL相同,只是在HSL模式上新增了Alpha透明度。

使用:

background-color: hsla(0 , 0% , 0% , 0.5);

首先要知道HSLA与RGBA本质上是没有区别的,二者均能实现等价的效果,但是有些技巧是要知道的:

  1. HSLA的黑色与白色,只需将L调整为0%或者100%即可,其他不用管;
  2. 灰色只需将S设置为0%,此时效果至于LA有关,H无关;
  3. 很直观,不用进行10进制和16进制的转换;

Come on with the rain,I’ve a smile on my face.

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在 CSS 中,可以使用 `rgba()` 来表示颜色的透明度。`rgba()` 函数接受四个参数,分别表示红色、绿色、蓝色和透明度(alpha)的值。其中,红色、绿色、蓝色的值范围都是 0 到 255,透明度的值范围是 0 到 1,0 表示完全透明,1 表示完全不透明。 例如,如果要设置一个半透明的红色,可以这样写: ```css color: rgba(255, 0, 0, 0.5); ``` 如果要设置一个半透明的黄色,可以这样写: ```css color: rgba(255, 255, 0, 0.5); ``` 注意,`rgba()` 函数只能用于表示颜色的透明度,如果要表示元素的透明度,应该使用 `opacity` 属性。 ### 回答2: 在CSS中,要实现颜色逐渐透明效果,可以使用rgba函数或者利用透明度属性来实现。 1. 使用rgba函数: 可以通过在颜色值后面添加一个透明度值来设置颜色的透明程度。该值的范围是从0(完全透明)到1(完全不透明)。例如,要将颜色逐渐变为透明,可以逐渐减小透明度值,如下所示: ``` background-color: rgba(255, 0, 0, 1); // 完全不透明 background-color: rgba(255, 0, 0, 0.75); // 75%透明 background-color: rgba(255, 0, 0, 0.5); // 50%透明 background-color: rgba(255, 0, 0, 0.25); // 25%透明 background-color: rgba(255, 0, 0, 0); // 完全透明 ``` 2. 使用透明度属性: 可以使用opacity属性来设置元素的透明度,它的值的范围也是从0(完全透明)到1(完全不透明)。相比于rgba函数,透明度属性会将元素内部的内容以及子元素也透明处理,而不仅仅是背景色。例如: ``` background-color: red; opacity: 1; // 完全不透明 opacity: 0.75; // 75%透明 opacity: 0.5; // 50%透明 opacity: 0.25; // 25%透明 opacity: 0; // 完全透明 ``` 以上是实现颜色逐渐透明的两种常用方法。通过调整透明度值的大小,可以实现不同透明程度的效果,并在设计中产生丰富的视觉效果。 ### 回答3: 在CSS中,颜色逐渐透明可以通过使用RGBA或HSLA颜色模式来实现。 1. 使用RGBA颜色模式RGBA是红、绿、蓝和透明度(Alpha)的缩写。透明度的值介于0~1之间,0表示完全透明,1表示完全不透明。通过调整透明度的值,可以实现颜色逐渐透明的效果。 例如,要使颜色逐渐从不透明到透明,可以使用以下CSS代码: ```css .element { background-color: rgba(255, 0, 0, 1); /* 起始颜色,完全不透明 */ transition: background-color 1s; /* 添加过渡效果,1秒钟 */ } .element:hover { background-color: rgba(255, 0, 0, 0); /* 鼠标悬停时的颜色,完全透明 */ } ``` 在上述示例中,通过将鼠标悬停样式的背景颜色透明度设置为0,就实现了从不透明到透明的过渡。 2. 使用HSLA颜色模式HSLA是色调、饱和度、亮度和透明度(Alpha)的缩写。透明度的值介于0~1之间,0表示完全透明,1表示完全不透明。同样,通过调整透明度的值,可以实现颜色逐渐透明的效果。 例如,要使颜色逐渐从不透明到透明,可以使用以下CSS代码: ```css .element { background-color: hsla(0, 100%, 50%, 1); /* 起始颜色,完全不透明 */ transition: background-color 1s; /* 添加过渡效果,1秒钟 */ } .element:hover { background-color: hsla(0, 100%, 50%, 0); /* 鼠标悬停时的颜色,完全透明 */ } ``` 在上述示例中,通过将鼠标悬停样式的背景颜色透明度设置为0,就实现了从不透明到透明的过渡。 无论是使用RGBA还是HSLA颜色模式,都可以根据需求调整透明度的值,从而实现颜色逐渐透明的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值