CSS rgb() 函数

CSS rgb() 语法

在最新版本的 CSS 中,rgb() 和 rgba() 这两个函数已经合并了。在传统的 CSS 中,rgb() 函数不支持透明度。但在最新的 CSS(CSS Color Level 4)中,rgb() 已经支持设置透明度了。

语法:

rgb(red, green, blue, alpha)

说明:

red、green、blue 分别代表红色、绿色和蓝色通道的值。它们的取值可以是以下 2 种:

  • 整数值:范围是 0 到 255。0 表示没有该颜色,255 表示该颜色的最大强度。
  • 百分比值:0% 表示没有该颜色,100% 表示该颜色的最大强度。

alpha 是一个介于 0 和 1 之间的数字。其中,0 表示完全透明,1 表示完全不透明。

示例:

/* 不包含 alpha */
rgb(255, 0, 0);    /* 红色 */
rgb(0, 255, 0);    /* 绿色 */
rgb(0, 0, 255);    /* 蓝色 */
rgb(255, 255, 0);  /* 黄色(红 + 绿) */

/* 包含 alpha */
rgb(255, 0, 0, 0.5);    /* 半透明红色 */
rgb(0, 255, 0, 0.3);    /* 透明绿色 */
rgb(0, 0, 255, 1);      /* 不透明蓝色 */

当 rgb() 包含 alpha 时,也支持使用空格分隔值,下面 2 种写法是等价的:

/* 写法 1 */
rgb(255, 0, 0, 0.5);

/* 写法 2 */
rgb(255 0 0 / 0.5)

对于 rgb() 函数的使用,小伙伴们还需要清楚以下几点。

  • rgb() 函数可以用于设置任何接受颜色值的属性,包括 colorbackground-colorborder-color 等。
  • 如果 rgb() 使用百分比值,则 0% 相当于 0,100% 相当于 255。

CSS rgb() 摘要

属于 CSS 函数
使用频率
兼容性 查看
官方文档 查看
MDN 查看

CSS rgb() 示例

接下来,我们通过几个简单的例子来讲解一下 CSS rgb() 函数是如何使用的。

示例 1:rgb() 基本用法

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div {
            color: rgb(255, 0, 0);              /* 红色 */
            background-color: rgb(0, 255, 0);   /* 绿色 */
            border: 1px solid rgb(0, 0, 255);   /* 蓝色 */
        }
    </style>
</head>
<body>
    <div>绿叶网</div>
</body>
</html>

页面效果如下图所示。

rgb() 基本用法

分析:

在这个例子中,我们将 div 的背景色设置为 rgb(255, 0, 0),这表示红色分量为 255,绿色分量为 0,蓝色分量为 0,也就是 “纯红色” 。

示例 2:rgb() 使用百分比

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div {
            color: rgb(100%, 0%, 0%);               /* 红色 */
            background-color: rgb(0%, 100%, 0%);    /* 绿色 */
            border: 1px solid rgb(0%, 0%, 100%);    /* 蓝色 */
        }
    </style>
</head>
<body>
    <div>绿叶网</div>
</body>
</html>

页面效果如下图所示。

rgb() 使用百分比

分析:

这个例子与上一个例子效果相同,但颜色值使用百分比表示。比如,rgb(100%, 0%, 0%) 其实等价于 rgb(255, 0, 0)。

示例 3:rgb() 使用 alpha 参数

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div:nth-child(1) {
            background-color: rgb(255, 0, 0, 0.8);    /* 红色,80% 不透明度 */
        }
        div:nth-child(2) {
            background-color: rgb(255, 0, 0, 0.5);    /* 红色,50% 不透明度 */
        }
        div:nth-child(3) {
            background-color: rgb(255, 0, 0, 0.3);    /* 红色,30% 不透明度 */
        }
    </style>
</head>
<body>
    <div>绿叶网</div>
    <div>绿叶网</div>
    <div>绿叶网</div>
</body>
</html>

页面效果如下图所示。

rgb() 使用 alpha 参数

上一篇: clamp()

下一篇: rgba()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号