新闻中心

如何在CSS中制作卡片阴影和背景动画_box-shadow background @keyframes结合

2025-11-26
浏览次数:
返回列表
通过结合@keyframes、background动画和box-shadow,可创建具有动态视觉效果的CSS卡片。1. 创建基础卡片结构并设置渐变背景与阴影;2. 使用@keyframes定义background-position变化,配合background-size实现背景流动动画;3. 定义shadowPulse动画使阴影强弱交替,增强立体感;4. 可选:hover触发动画或transition实现悬停交互。最终通过组合bgShift与shadowPulse双动画,赋予卡片生动的动态表现,提升UI交互体验。

如何在css中制作卡片阴影和背景动画_box-shadow background @keyframes结合

在CSS中制作带有阴影和背景动画的卡片,可以通过 box-shadowbackground 属性与 @keyframes 结合实现动态视觉效果。这种设计常用于提升按钮、卡片、产品展示等UI元素的交互感。

1. 基础卡片结构

先创建一个简单的HTML卡片容器:

<div class="animated-card">
  <h3>动态卡片</h3>
  <p>悬停时触发阴影与背景动画</p>
</div>

对应的CSS基础样式:

.animated-card {
  width: 300px;
  padding: 20px;
  border-radius: 12px;
  background: linear-gradient(45deg, #6a11cb, #2575fc);
  color: white;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: all 0.4s ease;
}

2. 使用 @keyframes 定义背景动画

通过关键帧让背景产生流动或颜色渐变移动的效果:

@keyframes bgShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

将动画应用到卡片,并设置背景为可移动的渐变:

.animated-card {
  background: linear-gradient(45deg, #6a11cb, #2575fc, #6a11cb);
  background-size: 300% 300%;
  animation: bgShift 4s ease infinite;
}

注意: background-size 大于100%才能看到位置变化;animation 设置 infinite 实现循环。

语鲸 语鲸

AI智能阅读辅助工具

语鲸 314 查看详情 语鲸

3. 结合 box-shadow 动画增强立体感

可以单独为阴影定义动画,让卡片看起来“呼吸”或“浮起”:

@keyframes shadowPulse {
  0% {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  }
  50% {
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
  }
  100% {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  }
}

将两个动画同时启用:

.animated-card {
  animation: 
    bgShift 4s ease infinite,
    shadowPulse 3s ease-in-out infinite;
}

4. 添加悬停增强交互(可选)

如果只想在鼠标悬停时触发动画,可结合 :hover 使用:

.animated-card:hover {
  animation: 
    bgShift 3s ease infinite,
    shadowPulse 2s ease-in-out infinite;
  transform: translateY(-5px);
}

或者用 transition 控制 hover 时的平滑变化:

.animated-card {
  transition: all 0.3s ease;
}

.animated-card:hover {
  box-shadow: 0 12px 30px rgba(0,0,0,0.25);
  transform: translateY(-6px);
}

这样既保留了基础动画,又在交互时强化视觉反馈。

基本上就这些。通过组合 @keyframes 控制 background 流动和 box-shadow 强弱变化,能让静态卡片变得生动。关键在于控制动画节奏、颜色协调和性能优化(避免过度重绘)。

以上就是如何在CSS中制作卡片阴影和背景动画_box-shadow background @keyframes结合的详细内容,更多请关注其它相关文章!


# 中文网  # 郑州专业网站优化平台  # 中山建设招投标网站首页  # 服饰商城网站建设公司  # 网络平台营销推广的作用  # 长春网站优化靠谱  # 学校网站推广联系电话  # seo工作部署  # 地产存量市场营销推广  # SEO转行做竞价了  # 如何入驻海外平台网站推广  # 能让  # css  # 可以通过  # 相关文章  # 鼠标  # 不均匀  # 浮起  # 中不  # 如何在  # 可选  # 重绘  # html  # 阴影动画 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: css子元素高度不一致导致布局错位怎么办_使用align-items:stretch解决高度差异  Composer的 "check-platform-reqs" 命令有什么用_在部署前检查生产环境是否满足Composer依赖需求  Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】  PHP表单数据传递:如何通过隐藏输入字段获取动态ID  如何为你的Composer包编写自动化测试_集成PHPUnit到Composer的scripts工作流  解决J*aScript中重复选择项的确认对话框显示问题  漫蛙漫画官方主页入口 漫蛙MANWA网页直达访问链接  12306选座怎么选到特殊座位_12306特殊座位选择注意事项  Promise错误处理:在catch后终止链式then执行的策略  React/Next.js中实现列表项的动态选择与移动  Win10如何清理注册表垃圾 Win10手动清理无效注册表【技巧】  Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法  word邮件合并后日期格式不对怎么改_Word邮件合并日期格式修改方法  极速漫画官方主页网址 极速漫画漫画在线浏览官网链接  Mudbox图层蒙版怎么用_Mudbox图层蒙版数字雕刻应用技巧  支付宝如何设置安全保护_支付宝安全设置的全面教程  sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE  Web Components中自定义开关组件状态同步的常见陷阱与解决方案  Win11 BitLocker密码忘了怎么办 Win11找回BitLocker恢复密钥方法【解决】  wps文字怎么插入目录并自动更新_wps文字如何插入目录并自动更新方法  Vue.js 图片显示异常排查:理解应用挂载范围与DOM ID唯一性  解决macOS Tkinter应用双击启动崩溃:PyInstaller打包指南  Angular Material 垂直步进器:实现底部到顶部排序的教程  Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】  Highcharts 雷达图径向轴标签定制指南:利用多Y轴实现数值标注  Surface怎么安装系统 微软Surface Pro U盘重装win11教程  Node.js CSV 数据处理:基于字段值条件过滤整条记录的策略  vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法  内存检查:在VS Code中调试C++时的内存视图  J*a实现学校排课程序_面向对象结构化项目示例  Flexbox布局实践:实现粘性导航栏与底部固定页脚  Python自定义类排序:解决lambda键值访问TypeError的实践指南  解决Python logging 中 datefmt 导致时间戳固定不变的问题  PostgreSQL海量数据高效导入策略:Python与Django实践指南  解决 Express.js 中 PUT 请求密码修改失败的路由配置指南  铁路12306的积分有效期是多久_铁路12306积分有效期说明  css滚动动画效果怎么实现_使用Animate.css滚动触发动画类  12306怎么选座位选到安静区_12306选座安静区域选择策略  PPT平滑切换怎么做 PPT炫酷“平滑”切换动画制作教程【必学】  AO3官方镜像站点汇总 AO3同人作品网页版直达链接  C++ map遍历方法大全_C++ map迭代器使用总结  NetBeans Ant项目:自动化将资源文件复制到dist目录的教程  微信客户端如何收红包_微信客户端接收红包使用教程  win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】  将JSON对象数组转置为键值对列表的实用指南  C++如何打印当前代码行号与文件名_C++预定义宏FILE与LINE的使用  c++如何实现一个简单的ECS框架_c++数据驱动设计与游戏开发  如何使用Node.js csv 包按条件移除含空字段的CSV记录  MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏  在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析 

搜索