通过设置CSS的transition与box-shadow属性,可实现鼠标悬停时元素平滑浮起的动效。首先为.card类定义基础样式及0.3秒阴影过渡,悬停时增大阴影偏移与模糊值模拟立体感,结合transform: translateY(-4px)可增强上抬动画,使交互更生动自然。

当鼠标悬停在元素上时,使用 CSS transition 与 box-shadow 可以创建平滑的光影动效,让界面更具交互感。关键在于设置过渡属性,使阴影变化不突兀。
基础结构:HTML 元素
假设有一个简单的 div 块元素:
默认样式与阴影设置
先定义元素的基本样式,并添加初始的 box-shadow 和 transition:
.card { width: 200px; height: 120px; background: #fff; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: box-shadow 0.3s ease; display: flex; align-items: center; justify-content: center; margin: 50px auto; cursor: pointer;}
这里设置了 0.3 秒的过渡效果,使用 ease 缓动函数,使阴影变化更自然。
悬停状态:增强阴影
当鼠标悬停时,提升阴影层次,模拟“抬起”效果:
Waymark
Waymark是一个视频制作工具,帮助企业快速轻松地制作高影响力的广告。
79 查看详情
立即学习“前端免费学习笔记(深入)”;
.card:hover { box-shadow: 0 8px 20px rgba(0,0,0,0.15);}
阴影的偏移和模糊值增大,视觉上像元素浮起,配合 transition 实现流畅动画。
可选优化:同时过渡其他属性
若想更生动,可以同时过渡 transform,比如轻微上抬:
.card { transition: all 0.3s ease;}.card:hover { box-shadow: 0 8px 20px rgba(0,0,0,0.15); transform: translateY(-4px);}
注意:此时 transition 改为 all 或指定多个属性,确保 transform 也被过渡。基本上就这些。合理使用 box-shadow 与 transition,能让按钮、卡片等组件更有质感,且无需 JavaScript。
以上就是css transition与box-shadow结合鼠标悬停的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1005707.html
微信扫一扫
支付宝扫一扫