CSS 透明

CSS 透明属性

在 CSS 中,我们可以使用 opacity 属性来定义元素的透明效果。

语法:

opacity: 数值 ;

说明:

需要清楚的是,opacity 设置的是 “不透明度”,而不是 “透明度”。opacity 属性取值是一个数值,取值范围为 0.0~1.0。其中 0.0 表示完全透明,1.0 表示完全不透明。

注意:

  • 使用 opacity 时,该元素的背景及其后代元素都会受到影响。
  • opacity 会作用于整个元素及其所有子元素,且子元素无法通过设置 opacity: 1 来抵消父元素的透明效果。
  • 除了 opacity 属性,还有一个 opacity() 函数。

CSS 透明示例

在实际项目开发中,opacity 属性通常用于创建元素的淡入淡出动画效果。接下来,我们来看几个简单的例子。

示例 1:CSS 定义图片的透明效果

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        img:nth-of-type(1) { 
            opacity: 1.0;     /* 完全不透明 */
        }
        img:nth-of-type(2) { 
            opacity: 0.5;     /* 半透明 */
        }
        img:nth-of-type(3) { 
            opacity: 0.2;     /* 几乎透明 */
        }
    </style>
</head>
<body>
    <img src="imgs/frog.jpg" alt="">
    <img src="imgs/frog.jpg" alt="">
    <img src="imgs/frog.jpg" alt="">
</body>
</html>

页面效果如下图所示。

CSS 定义元素的透明效果

示例 2:CSS 定义鼠标 :hover 时的透明效果

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div {
            width: 100px;
            height: 40px;
            line-height: 40px;
            text-align: center;
            background-color: #50A3A6;
            color: white;
            border-radius: 5px;
            cursor: pointer;
        }
        div:hover {
            opacity: 0.8;   /* 鼠标悬停时,稍微透明 */
        }
    </style>
</head>
<body>
    <div>回到首页</div>
</body>
</html>

默认情况下,效果如下图 1 所示。当鼠标移到元素上时,效果如下图 2 所示。

CSS 定义鼠标 hover 时的透明效果 1

CSS 定义鼠标 hover 时的透明效果 2

分析:

除了 opacity 属性,我们还可以使用以下两种函数来实现元素的透明效果:

  • rgba():rgba() 函数允许你设置元素的红、绿、蓝颜色以及透明度。比如 background-color: rgba(255, 0, 0, 0.5); 表示红色背景,透明度为 0.5。
  • hsla():hsla() 函数与 rgba() 类似,但它使用色相、饱和度、亮度以及透明度来定义颜色。比如 color: hsla(120, 100%, 50%, 0.3); 表示绿色文字,透明度为 0.3。

rgba() 和 hsla() 与 opacity 的区别在于:rgba() 和 hsla() 只会影响指定属性的透明度,而不会影响元素的后代元素。

上一篇: CSS 命名规范

下一篇: CSS RGBA

给站长反馈

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

邮箱:lvyenet@vip.qq.com

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