当前位置:首页 > CSS

css制作小球动画

2026-03-11 23:32:10CSS

使用 CSS 制作小球动画

关键帧动画(@keyframes)

通过 @keyframes 定义动画的关键帧,控制小球的位置、颜色或大小变化:

@keyframes bounce {
  0% { transform: translateY(0); }
  50% { transform: translateY(-100px); }
  100% { transform: translateY(0); }
}

小球基础样式

创建圆形小球并应用动画:

css制作小球动画

.ball {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #ff6b6b;
  animation: bounce 2s infinite ease-in-out;
}

添加物理效果

通过调整 animation-timing-function 模拟弹跳的物理效果:

.ball {
  animation-timing-function: cubic-bezier(0.5, 0.05, 0.1, 0.3);
}

多方向运动

结合 X 轴和 Y 轴移动实现斜向弹跳:

css制作小球动画

@keyframes move {
  0% { transform: translate(0, 0); }
  50% { transform: translate(100px, -100px); }
  100% { transform: translate(200px, 0); }
}

阴影增强立体感

为小球添加动态阴影效果:

@keyframes shadow {
  0% { box-shadow: 0 0 10px rgba(0,0,0,0.2); }
  50% { box-shadow: 0 20px 15px rgba(0,0,0,0.1); }
  100% { box-shadow: 0 0 10px rgba(0,0,0,0.2); }
}

代码示例

完整实现弹跳小球的 HTML 和 CSS:

<div class="ball"></div>

<style>
  .ball {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(to bottom, #ff8a00, #ff4d00);
    animation: 
      bounce 1.5s infinite cubic-bezier(0.28, 0.84, 0.42, 1),
      shadow 1.5s infinite ease-out;
  }

  @keyframes bounce {
    0% { transform: scale(1) translateY(0); }
    20% { transform: scale(0.9, 1.1) translateY(-80px); }
    50% { transform: scale(1.1, 0.9) translateY(10px); }
    100% { transform: scale(1) translateY(0); }
  }

  @keyframes shadow {
    0% { box-shadow: 0 0 15px rgba(0,0,0,0.1); }
    50% { box-shadow: 0 30px 20px rgba(0,0,0,0.05); }
    100% { box-shadow: 0 0 15px rgba(0,0,0,0.1); }
  }
</style>

性能优化建议

  • 优先使用 transformopacity 属性触发硬件加速
  • 避免在动画中频繁修改 width/height,改用 scale
  • 对静止元素使用 will-change: transform 提示浏览器优化

标签: 小球动画
分享给朋友:

相关文章

vue 动画实现

vue 动画实现

Vue 动画实现方式 Vue 提供了多种方式实现动画效果,主要分为内置组件和第三方库集成。 使用 Vue 内置过渡组件 Vue 的 <transition> 和 <transiti…

vue哪个组件实现动画

vue哪个组件实现动画

在Vue中实现动画效果,可以通过以下组件和方法实现: Vue内置动画组件 Vue提供了<transition>和<transition-group>两个内置组件,用于处理进入…

css3动画制作工具

css3动画制作工具

CSS3 动画制作工具推荐 以下是几款流行的工具和资源,可帮助快速创建CSS3动画,涵盖可视化工具、代码生成器和学习平台。 可视化工具 1. Animate.css 提供预定义的CSS动画…

uniapp 退场动画

uniapp 退场动画

实现退场动画的方法 在UniApp中实现退场动画可以通过CSS动画、Vue过渡效果或第三方动画库完成。以下是几种常见方法: 使用CSS动画 通过定义@keyframes和animation属性实现退…

vue动画实现方式

vue动画实现方式

Vue 动画实现方式 Vue 提供了多种方式来实现动画效果,主要通过内置的 <transition> 和 <transition-group> 组件以及结合 CSS 或 Jav…

vue负责动画实现

vue负责动画实现

Vue 动画实现方法 Vue 提供了多种方式来实现动画效果,主要通过内置组件和第三方库支持。 使用 Vue 内置过渡组件 Vue 的 transition 和 transition-group 组件…