CSS实现透明度效果的两种方法—— opacity 和 rgba()

在实际开发过程中,为了给用户呈现一些效果,我们需要控制元素的透明度。CSS 提供了 opacity 属性和 rgba() 函数给我们控制透明度,接下来通过一个例子来感受一下两种方法的区别。

<style>.transparentBox {display: inline-block;width: 100px;height: 100px;margin: 20px;color: #FFF;text-align: center;background-color: rgb(250, 179, 1);position: relative;}.transparentBox > div {width: 50px;height: 50px;line-height: 50px;background-color: rgb(210, 105, 30);position: absolute;top: 50%;left: 50%;margin-top: -25px;margin-left: -25px;}
</style>
<div class="transparentBox"><div>111</div>
</div>

在这里插入图片描述

opacity 属性

opacity 属性可以设置一个元素的不透明度。语法如下。

opacity: alpha;
alpha 取值范围为 0~1,值越小越透明( 0 表示完全透明,1 表示完全不透明 ),任何一个溢出这个取值区间的值都会被解析为在取值范围内最靠近它的值

IE8 或者更早版本的 IE 浏览器不支持 opacity 属性,若想要在这些浏览器中实现透明效果可以使用 filter 属性,语法格式如下:

filter: alpha(opacity=number);
number 的取值范围为 0~100,值越小则越透明( 0 表示完全透明,100 表示完全不透明 )

为了让所有浏览器都可以实现透明效果,我们可以同时定义 opacity 和 filter 两个属性,如下

div {opacity: 0.5;filter: alpha(opacity=50);
}

下面给最外层盒子设置 opacity 属性,看看有什么效果。

.transparentBox {opacity: 0.5;
}

在这里插入图片描述
可以看到中间盒子的透明度也被改变了,这也证实了 opacity 属性会影响子元素。此时子元素没有设置 opacity 属性,直接继承了父元素的,所以也是 0.5。如果给子元素也设置 opacity 属性会怎么样?

.transparentBox > div {opacity: 1;	/* 依次设为 1、 0.5、 0,观察效果 */
}

子元素 opacity: 1 的效果跟上面是一样的,但是设置比 1 小的值时,子元素有了不同的表现。

在这里插入图片描述
由上可知,opacity 属性具有继承性,当它被应用于某个元素上时,这个元素包括它的内容都被当成一个整体看待。一个元素和它的子元素(包括文本、边框、背景色等)都会具有相同的透明度,不过对于它的子元素还有以下两个要点。

  1. 子元素会直接继承父元素的透明度。子元素不设置 opacity 时,会受到父元素 opacity 的影响,拥有与父元素相同的透明度。
  2. 子元素的透明度是基于父元素的透明度计算的​。子元素 opacity 设为 1 时,父元素的影响依然在,所以在上面的例子中,没有任何变化;设为 0.5 时,相当于在父元素 0.5 的基础上再叠加了一层 0.5 的透明度,看上去更不透明了。

注意:opacity: 0 的元素在页面上肉眼不可见,像是“隐身”了,但 DOM 结构依然存在,所以在页面上仍然占据空间,因此在元素上绑定的事件也能被正常触发。

有时候我们想让子元素摆脱父元素的控制,给父元素单独设置透明度该怎么做?CSS 函数 rgba() 支持这样的做法。

rgba() 函数

rgba() 函数根据颜色的红色、绿色和蓝色成分来表达颜色,可选的 alpha 参数设置颜色的透明度。语法如下。

rgba(r, g, b, alpha)
R、G、B
每个都是从 0 到 255 之间的整数,或从 0% 到 100% 之间的 百分比,或者为关键字 none,分别代表红色、绿色和蓝色的通道。
A 可选
alpha 值(可以是百分比或0~1之间的数字)或者关键字 none,数字 1 对应 100%(完全不透明)。

下面给最外层盒子设置一个带透明度的背景色

.transparentBox {background-color: rgba(250, 179, 1, 0.5);
}

在这里插入图片描述
可以看到只是最外层盒子的背景颜色改变了,里面的盒子不受影响。有了 rgba() 我们可以更精确地控制颜色和它的透明度,而且不会影响子元素,不像 opacity 属性那样有继承性,对整体都有影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/184176.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqli-labs-1

文章目录 Less-01Less-02Less-03Less-04 Less-01 1.输入不同的id值&#xff0c;可以获取不同的用户信息&#xff1a; 2.在sql后拼接’or11–&#xff0c;并没有获取到所有用户的信息&#xff0c;猜测可能用了limit语句 3.构造错误的sql语句&#xff0c;果然有limit报错: …

【腾讯云云服务器测评】- 云原生实践,快捷部署人才招聘平台容器化技术方案!

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

windows 下 QT Android 环境搭建(QGC 4.2.x + Qt 5.15.2)

文章目录 1. QT Creator 环境搭建2. JDK1&#xff09;官网途径&#xff1a;2) 360 安装&#xff1a;配置 3. SDK1) 通过 Android Studio2&#xff09;QT 配置中安装 姊妹篇&#xff1a; win10下新版QGC地面站环境搭建全面攻略&#xff08;v4.x.x QGroundControl地面站搭建&…

从Hugging Face下载数据测试whisper、fast_whisper耗时

时长比较短的音频&#xff1a;https://huggingface.co/datasets/PolyAI/minds14/viewer/en-US 时长比较长的音频&#xff1a;https://huggingface.co/datasets/librispeech_asr?row8 此次测试过程暂时只使用比较短的音频 使用fast_whisper测试 下载安装&#xff0c;参考官方…

【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG

【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG 文章目录 导入库初始化PWM开启PWMPWM硬件BUG硬件BUG复现原因附录&#xff1a;列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 导入库 from misc import PWM_V2或者 from misc import PWM但我觉得…

面试算法54:所有大于或等于节点的值之和

题目 给定一棵二叉搜索树&#xff0c;请将它的每个节点的值替换成树中大于或等于该节点值的所有节点值之和。假设二叉搜索树中节点的值唯一。例如&#xff0c;输入如图8.10&#xff08;a&#xff09;所示的二叉搜索树&#xff0c;由于有两个节点的值大于或等于6&#xff08;即…

思谋科技进博首秀:工业多模态大模型IndustryGPT V1.0正式发布

大模型技术正在引领新一轮工业革命&#xff0c;但将其应用于工业制造&#xff0c;仍面临许多挑战&#xff0c;专业知识的缺乏是关键难点。11月5日&#xff0c;香港中文大学终身教授、思谋科技创始人兼董事长贾佳亚受邀参加第六届中国国际进口博览会暨虹桥国际经济论坛开幕式。虹…

家居品牌怎么做小红书投放,寻找家居达人的方式有哪些?

在当今社交媒体的时代&#xff0c;找到优秀的家居博主并不困难。但是&#xff0c;在找家居行业博主的时候&#xff0c;了解家居行业特性就很重要&#xff0c;今天来为大家分享一下家居品牌怎么做小红书投放&#xff0c;寻找家居达人的方式有哪些&#xff1f; 一、家居行业特性 …

【Python3】【力扣题】232. 用栈实现队列

【力扣题】题目描述&#xff1a; 栈&#xff1a;线性集合。后进先出。 队列&#xff1a;线性集合。先进先出。 【Python3】代码&#xff1a; 解题思路&#xff1a;两个栈&#xff0c;一个入队的栈&#xff0c;一个出队的栈。出栈时&#xff0c;若出队的栈为空&#xff0c;才将…

Java 设计模式——解释器模式

目录 1.概述2.结构3.案例实现3.1.抽象表达式类3.2.终结表达式3.3.非终结表达式3.4.环境类3.5.测试 4.优缺点5.使用场景 1.概述 &#xff08;1&#xff09;如下图&#xff0c;设计一个软件用来进行加减计算。我们第一想法可能就是使用工具类&#xff0c;提供对应的加法和减法的…

linux粘滞位的介绍及使用

文章目录 1.粘滞位的引入2.粘滞位的使用 1.粘滞位的引入 首先看一个场景 已知 对目录无w权限时 无法进行目录中的文件的创建/删除操作但是普通用户通过sudo命令 以root身份创建一个文件 rw- r-- r-- 普通用户此时是other 没有w权限 但却可以删除 [root和普通用户在一个目录下时…

mysql之子表查询、视图、连接查询

1、子查询返回的结果只能是某列&#xff0c;不能是多列。where条件in什么&#xff0c;子查询的列就是什么 &#xff08;1&#xff09;多表联查&#xff08;不要超过3张表&#xff09;重点 ①in包含 ②not in取反&#xff08;加上where条件过滤&#xff0c;否则没意义&#xff…

基于C#的GRPC

GRPC gRPC&#xff08;gRPC Remote Procedure Call&#xff09;是由Google开发的高性能、跨语言的远程过程调用框架。它基于HTTP/2协议进行通信&#xff0c;支持多种编程语言&#xff0c;包括C, C#, Java, Python等&#xff0c;使不同语言的应用程序可以通过远程调用相互通信。…

C#创建Windows Service(Windows 服务)基础教程

Windows Service这一块并不复杂&#xff0c;但是注意事项太多了&#xff0c;网上资料也很凌乱&#xff0c;偶尔自己写也会丢三落四的。所以本文也就产生了&#xff0c;本文不会写复杂的东西&#xff0c;完全以基础应用的需求来写&#xff0c;所以不会对Windows Service写很深入…

软件工程第十周

测试过程 单元测试 注意出错处理&#xff01;单元测试的数据处理部分请见Junit 单元测试之错误和异常处理-CSDN博客 单元测试准则 白盒&#xff1a;对系统结构非常清楚&#xff01;就像大题注重过程。 单元测试的测试环境 一定要保证整个环境是完整的&#xff0c;尽管可能没…

论文阅读——变化检测

Viewpoint Integration and Registration with Vision Language Foundation Model for Image Change Understanding 只有fused adapter image encoder, viewpoint registration flow, semantic emphasizing module, 和 fully connected layer 训练&#xff0c;其他参数冻结。 F…

数据结构(c语言版) 队列

链队列 要求&#xff1a;实现链队列的创建、初始化、入队、出队 &#xff08;先进先出&#xff09; 代码 // // Created by My.cy on 2023/10/19. // //链队列 创建、初始化、入队、出队 先进先出#include <stdio.h> #include <malloc.h>//定义结构体 struct…

【Android】android studio 怎么下载NDK

序言 新版的android studio在【Project Structure】里面的NDK路径是灰色的&#xff0c;无法点击&#xff0c;导致找不到ndk路径&#xff0c;也无法添加ndk。 下载方法 去这里找&#xff0c;一定要点这个按钮才能出现ndk。 下载之后&#xff0c;要在这个文件里面添加ndk路径

【JS】判断字符串是否为 url 的方法

文章目录 用法解析 用法解析 当你传递一个字符串给 URL 构造函数时: 如果字符串是一个有效的 URL&#xff0c;它将返回一个新的 URL 对象。否则&#xff0c;它将返回一个错误。 const url new URL("https://www.baidu.com/"); console.log(url);函数封装&#xf…

visual studio Python 配置QGIS(qgis)教程

visual studio Python 配置QGIS&#xff08;qgis&#xff09;教程 这个教程全网独一份啊&#xff0c;博主是自己摸索出来的。 visual studio Python 配置QGIS&#xff08;qgis&#xff09;环境一共分为两部&#xff1a; 第一步安装QGIS&#xff1a; 下载链接如下 https://www…