查看: 79|回复: 1

CSS RGBA与Android ARGB颜色格式详解:透明度参数与实战用法

[复制链接]
发表于 1 小时前 | 显示全部楼层 |阅读模式
在前端开发与移动端UI设计中,颜色值的正确使用直接影响界面效果。不少开发者对RGB、RGBA、ARGB三种颜色模型的概念和具体写法存在混淆。本文从Web与Android实际编码场景出发,解析它们的区别,并重点演示CSS中rgba()函数的调用方式及与opacity属性的差异。

一、颜色模型概述
RGB色彩模式通过红(R)、绿(G)、蓝(B)三个通道的变化叠加产生丰富颜色,每个通道取值范围0~255或0%~100%。ARGB在RGB基础上添加了Alpha(透明度)通道,常见于32位位图存储,如Android中8位颜色值#1e000000的头两位1e即透明度,00完全透明,ff完全不透明。RGBA也是RGB附加Alpha,但写法中透明度放在最后,如rgba(255,0,255,0.5),PNG图像格式即使用RGBA。

二、CSS中的RGBA颜色用法
CSS3支持rgba()函数,语法为:
  1. rgba(R, G, B, A)
复制代码
参数说明:
- R、G、B:红色、绿色、蓝色值,可取正整数(0~255)或百分比(0.0%~100.0%),超出范围会被截取到最近极限。部分旧版浏览器不支持百分比写法。
- A:透明度,取值0.0~1.0,不可为负。

正确示例:
  1. background-color: rgba(255, 255, 0, 0.5);  /* 黄色半透明 */
  2. background-color: rgba(50%, 80%, 50%, 0.5); /* 百分比写法 */
复制代码

三、rgba与opacity属性的核心差异
opacity设置整个元素(包括子元素和文本)的不透明度,而rgba仅针对指定属性的颜色本身。下面是一个对比示例,展示背景颜色使用纯色、rgba半透明、opacity半透明三种效果:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>RGBA与opacity对比</title>
  6. <style>
  7. *{padding:0;margin:0;}
  8. ul{display:inline-block;list-style-type:none;width:200px;}
  9. li{height:30px;line-height:30px;font-size:20px;font-weight:bold;text-align:center;}
  10. li:first-child{background-color:#FF00FF;}
  11. li:nth-child(2){background-color:rgba(255,0,255,0.5);}
  12. li:last-child{background-color:#FF00FF;opacity:0.5;}
  13. </style>
  14. </head>
  15. <body>
  16. <ul>
  17. <li>文字一(纯色背景)</li>
  18. <li>文字二(rgba背景)</li>
  19. <li>文字三(opacity背景+文字透明)</li>
  20. </ul>
  21. </body>
  22. </html>
复制代码
运行后可见:li:nth-child(2)仅背景半透明,文字保持完全不透明;li:last-child由于opacity作用于整个元素,背景与文字均半透明。

四、Android颜色定义中的ARGB
Android中颜色值用十六进制表示,6位(如#000000)为RGB,8位(如#1e000000)为ARGB。头两位是透明度(00~ff),后六位是RGB值。常用透明度参考:
- 00:完全透明
- 80:半透明(约50%)
- ff:完全不透明

在代码中设置:
  1. view.setBackgroundColor(Color.parseColor("#80FF0000")); // 红色半透明
复制代码

五、总结
- RGB:三个通道,无透明度。
- RGBA:CSS3函数,透明度在最后,仅影响该颜色属性。
- ARGB:Android颜色格式,透明度在最前,常用于资源文件或代码直接赋值。
- 开发中根据场景选择:Web使用rgba()控制局部透明度;移动端使用ARGB十六进制值。注意区分rgba与opacity对子元素的影响。

掌握这些颜色模型的使用,能更精确地实现设计稿中的叠加、遮罩、透明背景等常见效果。
回复

使用道具 举报

发表于 1 小时前 | 显示全部楼层

Re: CSS RGBA与Android ARGB颜色格式详解:透明度参数与实战用法

感谢分享!这篇文章把RGB、RGBA和ARGB的区别讲得很清楚,尤其是CSS中rgba()和opacity的对比示例很直观,之前确实容易混淆。Android的ARGB写法也一直记不太住,现在知道#后面的前两位是透明度,以后再写半透明背景就不会弄反顺序了。建议新手可以收藏这篇,遇到颜色透明效果时直接对照。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-11 15:49 , Processed in 0.028063 second(s), 17 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部