CSS中设置透明度的2个属性:opacity,RGBA以及它们的区别

你好,我是云桃桃。

一个希望帮助更多朋友快速入门 WEB 前端的程序媛。

云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合集

287篇原创内容-更多前端系列内容可以go公众.h:云桃桃

后台回复“前端工具”可获取开发工具,持续更新中

后台回复“前端基础题”可得到前端基础100题汇总,持续更新中

后台回复“前端电子书”可获取20+本精选电子书

前言

透明度在网页设计中扮演着重要的角色,透明度的合理运用可以提升网页设计的美感和功能性,增强用户体验,突出重点内容,同时也为设计师提供了更多的创作空间和可能性。

那我们一起来看看吧。

2 个透明度属性

可以表示透明度的,有 2 个属性,分别是opacityrgba

一、opacity 属性

用于设置元素的不透明度,取值范围为 0.0(完全透明)到 1.0(完全不透明)。在写小数值时,一般来说,保留 1~2 位小数即可。

需要注意的是:

  • 该属性可以继承,即子元素会继承父元素的透明度。所以,下面案例中文字的颜色也带上透明度了。

  • 该属性只对块级元素有效,对行内元素无效。

那,来看 3 个小案例吧。

1、透明度的 div

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Opacity Example</title>
    <style>
      /* 清除浮动样式 */
      .clearfix::after {
        content: '';
        display: table;
        clear: both;
      }
      .container {
        margin-top: 50px;
      }
      .container div {
        float: left;
        width: 200px;
        height: 200px;
        font-size: 26px;
        text-align: center;
        line-height: 200px;
        margin-right: 30px;
        color: #333;
        font-weight: bold;
      }
      .container div {
        background-color: #f00;
      }
      .container .div1 {
        opacity: 1;
      }
      .container .div2 {
        opacity: 0.7;
      }
      .container .div3 {
        opacity: 0.3;
      }
      .container .div4 {
        opacity: 0.1;
      }
    </style>
  </head>
  <body>
    <h1>opacity属性的透明度</h1>
    <div class="container clearfix">
      <div class="div1">opacity:1</div>
      <div class="div2">opacity:0.7</div>
      <div class="div3">opacity:0.3</div>
      <div class="div4">opacity:0.1</div>
    </div>
  </body>
</html>

效果如下,其内部的文字也自动带上透明度了:

图片

2、透明度的图像

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Opacity Example</title>
    <style>
      /* 清除浮动样式 */
      .clearfix::after {
        content: '';
        display: table;
        clear: both;
      }
      img {
        display: block;
        width: 100%;
      }
      .container {
        margin-top: 50px;
      }
      .container div {
        float: left;
        width: 200px;
        font-size: 16px;
        text-align: center;
        margin-right: 30px;
        color: #333;
        font-weight: bold;
      }
      .container div {
        border: 1px solid #333;
      }
      .container .img1 {
        opacity: 1;
      }
      .container .img2 {
        opacity: 0.7;
      }
      .container .img3 {
        opacity: 0.3;
      }
      .container .img4 {
        opacity: 0.1;
      }
    </style>
  </head>
  <body>
    <div class="container clearfix">
      <div class="div1">
        <img class="img1" src="img/tree.png" alt="" />
        <p>opacity:1</p>
      </div>
      <div class="div2">
        <img class="img2" src="img/tree.png" alt="" />
        <p>opacity:0.7</p>
      </div>
      <div class="div3">
        <img class="img3" src="img/tree.png" alt="" />
        <p>opacity:0.3</p>
      </div>
      <div class="div4">
        <img class="img4" src="img/tree.png" alt="" />
        <p>opacity:0.1</p>
      </div>
    </div>
  </body>
</html>

效果如下:

图片

3、带交互的透明度图像

这种交互也比较常见的,比如,jd 的这个,把鼠标放在图片放上去之后,是有一点点不透明度的。

图片

怎么做呢?就是配合 hover。来看代码。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Opacity Example</title>
    <style>
     /* 清除浮动 */
      .clearfix::after {
        content: '';
        display: table;
        clear: both;
      }
      img {
        display: block;
        width: 100%;
      }
      .container {
        margin-top: 50px;
      }
      .container div {
        float: left;
        width: 200px;
        margin-right: 30px;
      }
      .container img {
        transition: all 0.3s; /* 添加过渡效果 */
      }
      .container div {
        border: 1px solid #333;
      }
      .container div p {
        margin: 10px 10px;
        line-height: 24px;
        height: 48px;
        color: #333;
        font-size: 14px;
        /* 设置超出2行显示省略号 */
        word-break: break-all;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
      }
      .container div:hover img {
        opacity: 0.5;
      }
    </style>
  </head>
  <body>
    <div class="container clearfix">
      <div>
        <img src="img/tree.png" alt="" />
        <p>摩天手(Mofii) sweet无线复古朋克键鼠套装 办公键鼠套装 鼠标 电脑键盘 笔记本键盘 白绿色</p>
      </div>
      <div>
        <img src="img/tree.png" alt="" />
        <p>摩天手(Mofii) sweet无线复古朋克键鼠套装 办公键鼠套装 鼠标 电脑键盘 笔记本键盘 白绿色</p>
      </div>
      <div>
        <img src="img/tree.png" alt="" />
        <p>摩天手(Mofii) sweet无线复古朋克键鼠套装 办公键鼠套装 鼠标 电脑键盘 笔记本键盘 白绿色</p>
      </div>
      <div>
        <img src="img/tree.png" alt="" />
        <p>摩天手(Mofii) sweet无线复古朋克键鼠套装 办公键鼠套装 鼠标 电脑键盘 笔记本键盘 白绿色</p>
      </div>
    </div>
  </body>
</html>

效果如下。

图片

二、rgba 属性

第一个 opacity属性会同时改变元素及其子级内容的透明度,但有时候我们只需要改变作用元素的透明度,那 rgba 属性就派上用场了。

rgba 是 CSS 中用来表示颜色的一种方式,它由红色(R)、绿色(G)、蓝色(B)和透明度(A)四个通道组成。其中,R、G、B 通道表示颜色的三原色分量,取值范围为 0 到 255,

A 通道表示透明度,取值范围为 0 到 1,0 表示完全透明,1 表示完全不透明,在写小数值时,应该保留合理的小数位数,一般来说,保留 1~2 位小数即可。

rgba 可以单独控制元素的背景颜色或文本颜色的透明度,而不影响其内容的透明度。这对于需要让元素半透明而保持内容不变的情况非常有用,例如半透明的背景色或文本颜色。

ok,我们通过一个例子来对比一下 opacity 和 rgba。代码如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Opacity Example</title>
    <style>
      /* 清除浮动样式 */
      .clearfix::after {
        content: '';
        display: table;
        clear: both;
      }
      .mb-50 {
        margin-bottom: 50px;
      }
      .container div {
        float: left;
        width: 200px;
        height: 200px;
        font-size: 26px;
        text-align: center;
        line-height: 200px;
        margin-right: 30px;
        color: #333;
        font-weight: bold;
      }
      .container1 div {
        background-color: #f00;
      }
      .container1 .div1 {
        opacity: 1;
      }
      .container1 .div2 {
        opacity: 0.7;
      }
      .container1 .div3 {
        opacity: 0.3;
      }
      .container1 .div4 {
        opacity: 0.1;
      }
      .container2 .div1 {
        background: rgba(255, 0, 0, 1);
      }
      .container2 .div2 {
        background: rgba(255, 0, 0, 0.7);
      }
      .container2 .div3 {
        background: rgba(255, 0, 0, 0.3);
      }
      .container2 .div4 {
        background: rgba(255, 0, 0, 0.1);
      }
    </style>
  </head>
  <body>
    <div class="mb-50">
      <h1>opacity属性的透明度</h1>
      <div class="container container1 clearfix">
        <div class="div1">opacity:1</div>
        <div class="div2">opacity:0.7</div>
        <div class="div3">opacity:0.3</div>
        <div class="div4">opacity:0.1</div>
      </div>
    </div>
    <div>
      <h1>rgba属性的透明度</h1>
      <div class="container container2 clearfix">
        <div class="div1">rgba:1</div>
        <div class="div2">rgba:0.7</div>
        <div class="div3">rgba:0.3</div>
        <div class="div4">rgba:0.1</div>
      </div>
    </div>
  </body>
</html>

效果如下:

图片

是不是一目了然了,rgba并不影响子级的透明度。

OK,本文完。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

试用了三个Ai音乐工具,我的偶像河图要完蛋了

试了三个生成音乐的ai工具&#xff0c;分别是爆火的suno,后期新秀udio&#xff0c;还有我们国内的天工。 先说感受&#xff0c;suno和天工我觉得稍微靠前&#xff0c;udio可能我的配置风格有问题&#xff0c;啪啪啪连选了好几个风格&#xff0c;生成的东西有点怪。 我随手写了…

【机器学习基础1】什么是机器学习、预测模型解决问题的步骤、机器学习的Python生态圈

文章目录 一. 什么是机器学习1. 概念2. 机器学习算法分类 二. 利用预测模型解决问题的步骤三. 机器学习的Python生态圈 一. 什么是机器学习 1. 概念 机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;是一门多领域的交叉学科&#xff0c;涉及概率论、统计学、…

深度学习 --- stanford cs231学习笔记(一)

stanford cs231学习笔记(一) 1&#xff0c;先是讲到了机器学习中的kNN算法&#xff0c;然后因为kNN分类器的一些弊端&#xff0c;引入了线性分类器。 kNN算法的三大弊端&#xff1a; (1)&#xff0c;计算量大&#xff0c;当特征比较多时表示性差 (2)&#xff0c;训练时耗时少…

01 - 安装Kettle

下载安装包 我这边提供的安装包是绿色版的&#xff0c;开箱即用 Kettle.exe 阿里云盘分享 提取码: 8sd5 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无需下载极速在线查看&#xff0c;视频原画倍速播放。 启动步骤 解压 双击Spo…

注意力机制(四)(多头注意力机制)

​&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;《深度学习基础知识》 相关专栏&#xff1a; ⚽《机器学习基础知识》 &#x1f3d0;《机器学习项目实战》 &#x1f94e;《深度学习项目实…

Python | Leetcode Python题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; class Solution:def canJump(self, nums: List[int]) -> bool:n, rightmost len(nums), 0for i in range(n):if i < rightmost:rightmost max(rightmost, i nums[i])if rightmost > n - 1:return Truereturn False

闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子

前言 一个在实际应用中 EF Core 集成 FluentValidation 进行数据校验的例子。 Step By Step 步骤 创建一个 Asp.Net Core WebApi 项目 引用以下 Nuget 包 FluentValidation.AspNetCore Microsoft.AspNetCore.Identity.EntityFrameworkCore Microsoft.EntityFrameworkCore.Re…

Unity 合并子物体获得简化Mesh

合并子物体获得简化Mesh &#x1f959;环境&#x1f96a;Demo &#x1f959;环境 PackageManager安装Editor Coroutines 导入插件&#x1f448; &#x1f96a;Demo 生成参数微调&#xff1a;Assets/EasyColliderEditor/Scripts/VHACDSettings/VHACDSettings.asset

TDengine高可用架构之TDengine+Keepalived

之前在《TDengine高可用探讨》提到过&#xff0c;TDengine通过多副本和多节点能够保证数据库集群的高可用。单对于应用端来说&#xff0c;如果使用原生连接方式&#xff08;taosc&#xff09;还好&#xff0c;当一个节点下线&#xff0c;应用不会受到影响&#xff1b;但如果使用…

Kafka 3.x.x 入门到精通(03)——Kafka基础生产消息

Kafka 3.x.x 入门到精通&#xff08;03&#xff09;——对标尚硅谷Kafka教程 2. Kafka基础2.1 集群部署2.2 集群启动2.3 创建主题2.4 生产消息2.4.1 生产消息的基本步骤2.4.2 生产消息的基本代码2.4.3 发送消息2.4.3.1 拦截器2.4.3.1.1 增加拦截器类2.4.3.1.2 配置拦截器 2.4.3…

Mysql事务—隔离级别—脏读、不可重复读、幻读-遥遥领先版

事务的基本概念 事务就是一组原子性的操作&#xff0c;这些操作要么全部发生&#xff0c;要么全部不发生。事务把数据库从一种一致性状态转换成另一种一致性状态。 事务最经典也经常被拿出来说例子就是转账了。 假如小明要给小红转账1000元&#xff0c;这个转账会涉及到两个…

Linux进程——进程的概念(PCB的理解)

前言&#xff1a;在了解完冯诺依曼体系结构和操作系统之后&#xff0c;我们进入了Linux的下一篇章Linux进程&#xff0c;但在学习Linux进程之前&#xff0c;一定要阅读理解上一篇内容&#xff0c;理解“先描述&#xff0c;再组织”才能更好的理解进程的含义。 Linux进程学习基…

【中级软件设计师】上午题12-软件工程(3):项目活动图、软件风险、软件评审、软件项目估算

【中级软件设计师】上午题12-软件工程&#xff08;3&#xff09; 1 软件项目估算1.1 COCOMO估算模型1.2 COCOMOⅡ模型 2 进度管理2.1 gantt甘特图2.2 pert图2.3 项目活动图2.3.1 画项目图 3 软件配置管理4 软件风险4.1 风险管理4.2 风险识别4.3 风险预测4.4 风险评估4.5 风险控…

二叉树遍历递归法迭代法实现

一.递归法实现二叉树遍历 前序遍历 创建一个节点类 属性是val,左节点&#xff0c;右节点 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val x; } } 前序遍历 class Solution {public List<Integer> preorderTraversa…

微服务启动慢,看我如何消灭这些憨憨怪!

Hello&#xff0c;我是大都督周瑜&#xff0c;最近在公司做微服务启动速度的优化&#xff0c;我们有些微服务启动要花5-6分钟&#xff08;就问你夸不夸张&#xff09;&#xff0c;直接导致打工人们有了更多的划水时间&#xff0c;领导表示不开心&#xff0c;要求我将微服务的启…

python监听html click教程

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python实现监听HTML点击事件 在Web开发中&#xff0c;经常需要在用户与页面交互时执行一些…

乐观锁悲观锁

视频&#xff1a;什么是乐观锁&#xff1f;什么是悲观锁&#xff1f;_哔哩哔哩_bilibili

如何在电脑桌面上显示每天的待办事项?

对于上班族来说&#xff0c;每天面临的任务繁杂&#xff0c;很容易遗漏或忘记某些重要事项。因此&#xff0c;在电脑桌面上直接显示每天的待办事项显得尤为重要。例如&#xff0c;当你忙于处理邮件或编写报告时&#xff0c;桌面的待办事项提醒能够让你一目了然地掌握接下来的工…

C语言进阶|链表经典OJ题

✈移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 方法一&#xff1a; 遍历链表找到所有等于val的节点&#xff0c;再执行删除操作删除这些节点。 方法二&#xff1a; …

Flask 数据库前后端交互案例-1

Flask 数据库前后端交互案例 目录结构templates目录base.htmlheader.htmlleft.html首页职员管理页面添加员工界面员工编辑页面员工详情界面 后台main.pyapp.pymodels.pyviews.py 数据库数据position.sqlperson.sqlpermission.sqldepartment.sql 目录结构 静态文件链接&#xff…