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

css实现圆角+边框渐变+背景半透明

ui小姐姐经常搞一些花里胡哨的东西,圆角+边框渐变+背景半透明,虽然每个都可以弄,但是合在一起真的不好弄,主要是因为通过border–image设置的边框渐变,无法使用圆角,下面是自己搜索整理的一些可以的方案。

方式1:使用background-clip,然后绘制多个背景图:

.element1{width:200px;height:200px;box-sizing: border-box;border-radius: 20px;border:5px solid transparent;background-origin: border-box;background-clip: content-box,content-box,border-box;background-image:linear-gradient(to right,rgba(255,0,0,.4),rgba(0,255,255,.5)),linear-gradient(#fff,#fff),linear-gradient(45deg, #ff7e5f, #feb47b, #86e3ce, #d4a5a5);
}

这种方法有个问题,就是如果下面是图片的话,无法穿透图片,效果如下:
在这里插入图片描述
因此如果你不需要显示底图的话,可以使用这种方式。

方式2:使用mask

.element {width: 200px;height: 200px;border-radius: 20px;position: relative;display: flex;justify-content: center;align-items: center;background: linear-gradient(to right,rgba(255,0,0,.4),rgba(0,255,255,.5));
}.element::before {content: '';position: absolute;top: 0;left: 0;right: 0;bottom: 0;border-radius: inherit;border: 2px solid transparent;box-sizing: border-box;background: linear-gradient(45deg, #ff7e5f, #feb47b, #86e3ce, #d4a5a5);-webkit-mask: linear-gradient(red 0 0) content-box, linear-gradient(red 0 0);-webkit-mask-composite: destination-out;mask-composite: exclude;
}

这种失效的效果是可以的,可以穿透显示后面的背景,效果如下:
在这里插入图片描述
这种方式的话,稍微复杂一些,需要使用两个蒙层,然后计算去除蒙层重叠的部分。

http://www.xdnf.cn/news/17924.html

相关文章:

  • 开源数据发现平台:Amundsen Frontend Service React 配置 Flask 配置 Superset 预览集成
  • DeepResearch开源与闭源方案对比
  • python线程学习
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(2):11-20语法
  • 深入解析C++ STL链表(List)模拟实现
  • 【C++】类和对象——默认成员函数(中上)
  • OpenCV安装及配置
  • 【C 学习】06-算法程序设计举例
  • 基于51单片机的智能吊灯
  • 零改造迁移实录:2000+存储过程从SQL Server滑入KingbaseES V9R4C12的72小时
  • Obot MCP 网关:用于安全管理 MCP 服务器采用的开源平台
  • 大模拟 Major
  • 《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
  • Horse3D游戏引擎研发笔记(六):在QtOpenGL环境下,仿Unity的材质管理Shader绘制四边形
  • 复杂度扫尾+链表经典算法题
  • 《P1194 买礼物》
  • JAVA 关键字
  • OpenCV---getStructuringElement 结构元素获取
  • MySQL知识点(上)
  • LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。
  • 推荐一款高性能状态机管理解决方案
  • 专题三_二分_x 的平方根
  • Linux软件编程(五)(exec 函数族、system、线程)
  • 【Go语言-Day 36】构建专业命令行工具:`flag` 包入门与实战
  • Struts文件泄露漏洞分析与修复方案
  • Swift 实战:用最长递增子序列算法解“俄罗斯套娃信封”问题(LeetCode 354)
  • Unity 实现逼真书本翻页效果
  • Vue响应式系统在超大型应用中的性能瓶颈
  • 深入浅出的 RocketMQ-面试题解析
  • 力扣hot100 | 普通数组 | 53. 最大子数组和、56. 合并区间、189. 轮转数组、238. 除自身以外数组的乘积、41. 缺失的第一个正数