当前位置: 首页 > news >正文

CSS 实现两个圆圈重叠部分颜色不同

在这里插入图片描述

这是期望实现的效果,由图可知,圆圈底图透明度是0.4,左侧要求重叠部分透明度是0.7,所以不能通过简单的透明度叠加来实现最右侧的效果。

这就需要另外新建一个图层来叠加在两个圆圈重叠上方。
直接看代码

.circle_hight {width: 120px;height: 120px;background: linear-gradient(55deg, #26D7F4 -11.23%, #5E8AFA 41.65%, #6A5EFA 78.23%, #CD1FD9 118.93%);opacity: 0.7;-webkit-mask-image: radial-gradient(60px at 60px center, rgb(0, 0, 0), rgb(0, 0, 0) 59px, transparent 60px), radial-gradient(60px at 72px center, rgb(0, 0, 0), rgb(0, 0, 0) 59px, transparent 60px);-webkit-mask-composite: source-in;
}

这部分就是中间重叠部分的代码
在这里插入图片描述
然后将位置设置在重叠部分就好了。
这个难度在于重叠部分的大小是动态的,所以得用 mask-image 动态设置交叠圆的位置,如果上面的图案是固定的,那么可以用 mask 直接引入图片。

// 图片
-webkit-mask: url();
mask: url();// 渐变
-webkit-mask-image: linear-gradient(#000, transparent);
mask-image: linear-gradient(#000, transparent);

由于原理是靠 mask-composite 属性保留两圆相交的部分,这个属性还不是广泛支持,所以需要浏览器的兼容性,可以在css做一层判断。


// 火狐不支持
@supports not (mask-composite: source-in) {...
}

参考连接:
CSS 实现优惠券的技巧
CSS 遮罩 mask/-webkit-mask
高阶切图技巧!基于单张图片的任意颜色转换
CSS mask 与 切图艺术
-webkit-mask-composite 兼容性
mask-composite 兼容性
css 检测是否支持某一新属性

http://www.lryc.cn/news/274816.html

相关文章:

  • 【数据库系统概念】第7-14章集合
  • Kibana
  • C#使用 OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率相关方式
  • K8S--- volumesvolumeMount
  • AntV-G6 -- 将G6图表应用到项目中
  • 第二百五十回
  • 如何把硬盘(分区)一分为二?重装系统的小伙伴不可不看
  • 【AI视野·今日NLP 自然语言处理论文速览 第六十六期】Tue, 31 Oct 2023
  • 解决Canvas画图清晰度问题
  • zookeeper经典应用场景之分布式锁
  • 红队专题-Web安全/渗透测试-文件上传/下载/包含
  • 安装阿里云CLI之配置阿里云凭证信息
  • 阿里云和腾讯云2核2G3M服务器上传速度多少?
  • Python中的cls语法
  • 【Java】java -jar 读取jar包之外的yml
  • 遥感影像-语义分割数据集:山体滑坡数据集详细介绍及训练样本处理流程
  • ubuntu 22.04 安装r-base时缺少r-recommended
  • HarmonOS 通用组件(Button)
  • 代码随想录算法训练DAY22|二叉树8
  • 如何解决跨域问题
  • Typora 编辑器 讲解 包括使用方式 快捷键 附带下载地址 (免费破解)
  • 16-Echarts简化系列之:平行坐标系 parallel 和 parallelAxis 坐标轴
  • SqlServer内存使用情况
  • 谈谈我的三次考研经历
  • 红队打靶练习:SAR: 1
  • WSL 与真实 linux 环境区别有多大?
  • Springboot和Spring有什么区别
  • 创建Qt项目
  • 钢铁企业电力设计手册(上下册)总目录
  • Activemq存储KahaDb详解