Css实现悬浮对角线边框动效

动画效果展示

鼠标悬停时,一个带有圆角的水绿色边框会从右上和左下两个方向快速展开,随后颜色缓慢填充;移出鼠标时颜色先褪去,边框再快速收缩消失,形成具有节奏感的呼吸式动画。
在这里插入图片描述

📜 动画原理说明

一、核心机制

通过 双伪元素(::before/::after) 模拟边框,利用 CSS过渡(transition) 实现尺寸和颜色的动画联动。鼠标移入时触发展开动画,移出时逆向执行形成淡出。

二、 原理

设置两个伪元素盒子,width/height控制这两个盒子长宽

  1. width/height 的作用
  • 控制伪元素 容器的整体尺寸(矩形区域)
  • 扩展方向由 top/right/bottom/left 定位决定
  1. 每个伪元素 仅激活两条相邻边框,形成直角连接;未激活的边框保持 transparent(透明)
/* ::before 只显示上+右边框 */
border-top-color: #98e8d5;
border-right-color: #98e8d5;/* ::after 只显示下+左边框 */
border-bottom-color: #98e8d5;
border-left-color: #98e8d5;

其中一个伪元素盒子:
在这里插入图片描述

三、代码

.hoverDiv {/* 为伪元素提供定位基准 */position: relative;border: 0;outline: none;box-sizing: border-box;
}.hoverDiv::before,
.hoverDiv::after {/* 子绝父相,伪元素根据父盒子定位 */position: absolute;box-sizing: inherit;content: '';/* 初始状态: 尺寸0+边框透明 */border: 2px solid transparent;width: 0;height: 0;transition:width 0.5s ease-out,height 0.5s ease-out,border-color 1s ease-out;
}/* 伪元素定位位置 */
.hoverDiv::before {top: 0.1rem;right: -0.1rem;border-top-right-radius: 20px;
}.hoverDiv::after {bottom: -0.1rem;left: -0.1rem;border-bottom-left-radius: 20px;
}/* 伪元素hover效果:尺寸改变 */
.hoverDiv:hover::before,
.hoverDiv:hover::after {width: 103%;height: 104%;
}/* 伪元素hover效果: 边框着色 */
.hoverDiv:hover::before {border-top-color: #98e8d5;border-right-color: #98e8d5;
}.hoverDiv:hover::after {border-bottom-color: #98e8d5;border-left-color: #98e8d5;
}

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

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

相关文章

技术创新究竟包含什么?

技术创新指的是引入新技术或改进现有技术,以创造新颖且更优的产品、服务或流程的过程。它涉及应用科学和技术知识开发创新解决方案,以创造价值、提高效率、推动增长,并满足用户和客户不断变化的需求。 技术创新可以有多种形式,例…

ArcGIS+AI:涵盖AI大模型应用、ArcGIS功能详解、Prompt技巧、AI助力的数据处理、空间分析、遥感分析、二次开发及综合应用等

🌐 GIS凭借其强大的空间数据处理能力、先进的空间分析工具、灵活的地图制作与可视化功能,以及广泛的扩展性和定制性,已成为地理信息科学的核心工具。它在城市规划、环境科学、交通管理等多个学科领域发挥着至关重要的作用。与此同时&#xff…

数据淘金时代:公开爬取如何避开法律雷区?

首席数据官高鹏律师团队编著 一、“数字淘金热”里的暗礁:那些被爬垮的平台和赔哭的公司 前阵子某电商平台的“商品比价爬虫”上了热搜,技术小哥本想靠抓竞品数据优化定价,结果收到法院传票——对方服务器被爬瘫痪,索赔300万。这…

在ARM 架构的 Mac 上 更新Navicat到17后连接Oracle时报错:未加载 Oracle 库。

一:问题 使用的M1芯片的Mac,将Navicat更新到了17版本后,原本正常的Oracle数据库无法连接,报错:未加载 Oracle 库。而sqlserver库可以正常连接 二:解决方法 打开聚焦搜索——〉打开访达——〉在应用程序中…

Springboot仿抖音app开发之用短视频务模块后端复盘及相关业务知识总结

Springboot仿抖音app开发之用户业务模块后端复盘及相关业务知识总结 BO类和VO类的区别 BO (Business Object) - 业务对象 定义: 业务对象是包含业务逻辑的领域模型用途: 主要用于封装业务逻辑相关的数据,在业务层(Service层)之间传递特点: 与业务处理密切相关通常…

SQL-事务(2025.6.6-2025.6.7学习篇)

1、简介 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 默认MySQL的事务是自动提交的,也就是说&#xff0…

《Ansys SIPI仿真技术笔记》 E-desk IBIS模型导入

技术笔记日期:20250611 00 背景和疑问 当在Circuit中准备载入IBIS时,工作界面会弹出如下界面: 那么具体Pin Import和Buffer Import有和区别? 何时该按哪个导入呢? 01 思考和记录 1. Buffer Import VS Pin Import…

uniapp的请求封装,如何避免重复提交请求

1、如何封装uniapp,并且如何使用uniapp的封装查看👉uniapp请求封装_uni-app-x 请求封装-CSDN博客​​​​​​​ 2、声明一个请求记录的缓存,代码如下 // 存储请求记录 let requestRecords {}; // 重复请求拦截时间(毫秒&#x…

【云原生】阿里云SLS日志自定义字段标签实现日志告警

把业务日志接入到阿里云SLS日志服务后,我们想自定义字段做为标签,在做日志告警的时候,可以做为查询结果使用 自定义标签 样例: 一个典型的java log初始化日志格式 [ywgy-app-service:10.10.6.100:30000] 2025-06-10 08:40:53.444 INFO 1[TID: N/A][uId:][sId:][tId:][po…

Linux下制作Nginx绿色免安装包

linux下安装nginx比较繁琐,遇到内网部署环境更是麻烦。根据经验将nginx打包一个绿色版进行使用。 大体思路,在一台正常的机器上面制造好安装包,然后上传到内网服务器,解压使用 安装包制作 安装依赖 yum install gcc-c pcre per…

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…

【Zephyr 系列 18】分布式传感网络系统设计:从 BLE Mesh 到边缘网关的数据闭环

🧠关键词:Zephyr、BLE Mesh、边缘网关、分布式网络、状态同步、组播、数据聚合、远程控制 📌适合人群:希望实现 BLE Mesh 与网关联合控制、多设备组网协作、数据闭环采集的开发者 📊预计字数:5500+ 字 🧭 背景与系统目标 在工业、农业、仓储等场景中,我们常见以下…

【区块链基础】区块链的 Fork(分叉)深度解析:原理、类型、历史案例及共识机制的影响

区块链的 Fork(分叉)全面解析:原理、类型、历史案例及共识机制的影响 在区块链技术的发展过程中,Fork(分叉)现象是不可避免且极具影响力的一个环节。理解区块链分叉的形成原因、具体表现以及共识机制对分叉的作用,对于深入把握区块链技术架构及其治理机制至关重要。 本…

开源 java android app 开发(十一)调试、发布

文章的目的为了记录使用java 进行android app 开发学习的经历。本职为嵌入式软件开发,公司安排开发app,临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。 相关链接: 开源 java an…

数据的聚合

聚合可以实现对文档数据的统计,分析,运算,聚合常见有三类(聚合的值一定不能是text类型的): 桶(Bucket)聚合:用来对文档做分组。 度量(Metric)聚合…

C++默认构造函数被隐式删除

一、 看cppreference时,发现被隐式删除的构造函数,查询做如下记录: struct F {int& ref; // reference memberconst int c; // const member// F::F() is implicitly defined as deleted };// user declared copy constructor (either …

6.ref创建对象类型的响应式数据

其实ref接收的数据可以是&#xff1a;基本类型、对象类型。若ref接收的是对象类型&#xff0c;内部其实也是调用了reactive函数。 <template><div class"person"><h2>汽车信息&#xff1a;一台{{ car.brand }}汽车&#xff0c;价值{{ car.price }…

如何设计一个用于大规模生产任务的人工智能AI系统

部署一个SOTA模型&#xff0c;让它服务数百万用户&#xff0c;处理TB级别的数据&#xff0c;并且7x24小时可靠运行是件非常有挑战性的工作。我们将探讨构建一个能够创建LLM、多模态模型以及各种其他AI产品的大规模AI系统所需的每个开发阶段。每个开发阶段如何相互关联&#xff…

国债与企业债:稳健与高收益的债券选择

债券市场是投资者获取稳定收益的重要渠道&#xff0c;而国债和企业债是最常见的两种债券类型。它们虽然都属于固定收益类产品&#xff0c;但在风险、收益和适用人群上有显著区别。 1. 概念对比&#xff1a;国家信用 vs. 企业信用 &#xff08;1&#xff09;国债&#xff08;政…

MySQL提升

事务 事务&#xff1a;在多个操作合在一起视为一个整体。要么就不做、要么就做完。 事务应该满足ACID A : 原子性。不可分割。C : 一致性。追求的目标&#xff0c;在开始到结束没有发生预定外的情况。I : 隔离性。不同的事务是独立的。D : 持久性。系统崩溃&#xff0c;数据依然…