当前位置:首页 > CSS

css动画制作弹球

2026-04-01 16:48:19CSS

使用CSS动画制作弹球效果

弹球动画可以通过CSS的@keyframesanimation属性实现。以下是具体实现方法:

基础弹球动画

<div class="ball"></div>
.ball {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #ff5722;
  position: absolute;
  animation: bounce 2s infinite cubic-bezier(0.5, 0.05, 1, 0.5);
}

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

添加弹跳效果

通过调整cubic-bezier函数和关键帧百分比,可以创建更真实的弹跳效果:

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(200px);
  }
  50% {
    transform: translateY(100px);
  }
  75% {
    transform: translateY(200px);
  }
}

水平移动的弹球

让弹球在水平方向移动的同时弹跳:

.ball {
  animation: bounce 2s infinite, move 4s infinite linear;
}

@keyframes move {
  0% {
    left: 0;
  }
  100% {
    left: calc(100% - 50px);
  }
}

添加阴影效果

弹球落地时阴影变小,弹起时阴影变大:

.ball {
  box-shadow: 0 0 20px rgba(0,0,0,0.3);
}

.shadow {
  width: 40px;
  height: 10px;
  background: rgba(0,0,0,0.1);
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  animation: shadow 2s infinite;
}

@keyframes shadow {
  0%, 100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(0.5);
    opacity: 0.3;
  }
}

多球碰撞效果

创建多个弹球并设置不同动画延迟:

.ball1 {
  animation-delay: 0s;
}
.ball2 {
  animation-delay: 0.5s;
}
.ball3 {
  animation-delay: 1s;
}

3D弹跳效果

通过CSS 3D变换增加深度感:

css动画制作弹球

@keyframes bounce {
  0% {
    transform: translateY(0) rotateX(0);
  }
  50% {
    transform: translateY(300px) rotateX(180deg);
  }
  100% {
    transform: translateY(0) rotateX(360deg);
  }
}

以上代码可以组合使用,根据需求调整参数如动画持续时间、弹跳高度、颜色等,创建出各种弹球动画效果。

分享给朋友:

相关文章

css3 动画制作

css3 动画制作

CSS3 动画基础 CSS3 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的关键帧,animation 控制动画的播放方式(如时长、延迟、循环等…

css3前端动画制作

css3前端动画制作

CSS3 前端动画制作方法 CSS3 提供了多种方式实现动画效果,包括过渡(transition)、关键帧动画(keyframes)和变换(transform)。以下是具体实现方法: 过渡动画(Tr…

css3在线动画制作

css3在线动画制作

CSS3 在线动画制作工具 以下是一些常用的在线工具,可以帮助快速生成CSS3动画代码,无需手动编写全部代码: Animista 网址:https://animista.net/ 特点:提供预设的C…

css3菊花动画制作

css3菊花动画制作

使用 CSS3 制作菊花动画 菊花动画通常指一种旋转的加载动画,类似于花瓣旋转的效果。以下是几种实现方法: 关键帧动画实现 通过 @keyframes 定义旋转动画,结合 transform 和 o…

css动画制作效果

css动画制作效果

CSS 动画基础语法 CSS 动画通过 @keyframes 规则定义动画序列,再通过 animation 属性将动画应用到元素上。 定义关键帧: @keyframes slideIn {…

css路径动画制作

css路径动画制作

CSS路径动画制作方法 CSS路径动画可以通过offset-path和animation属性实现元素沿自定义路径运动。现代浏览器支持SVG路径或CSS基本形状作为运动轨迹。 定义路径 使用SVG路径…