当前位置:首页 > CSS

css制作加载动画

2026-04-02 02:34:32CSS

使用纯CSS制作加载动画

通过CSS的@keyframesanimation属性可以创建多种加载动画效果,以下列举几种常见实现方式:

旋转动画(适合图标加载)

css制作加载动画

.loader {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

点状加载动画

.dot-loader {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.dot-loader div {
  width: 12px;
  height: 12px;
  background-color: #3498db;
  border-radius: 50%;
  animation: bounce 1.4s infinite ease-in-out;
}
.dot-loader div:nth-child(2) {
  animation-delay: 0.2s;
}
.dot-loader div:nth-child(3) {
  animation-delay: 0.4s;
}
@keyframes bounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); }
}

进度条加载动画

css制作加载动画

.progress-loader {
  width: 100%;
  height: 4px;
  background-color: #e0e0e0;
  overflow: hidden;
}
.progress-loader::after {
  content: '';
  display: block;
  width: 20%;
  height: 100%;
  background-color: #4285f4;
  animation: progress 2s linear infinite;
}
@keyframes progress {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(500%); }
}

高级技巧:使用CSS变量控制动画

通过CSS变量可以动态调整动画参数:

:root {
  --loader-color: #3498db;
  --loader-size: 40px;
  --loader-speed: 1s;
}
.custom-loader {
  width: var(--loader-size);
  height: var(--loader-size);
  border: 4px solid rgba(0,0,0,0.1);
  border-left-color: var(--loader-color);
  border-radius: 50%;
  animation: rotate var(--loader-speed) linear infinite;
}

响应式加载动画设计

结合媒体查询适配不同设备:

@media (max-width: 600px) {
  .loader {
    width: 30px;
    height: 30px;
    border-width: 3px;
  }
  .dot-loader div {
    width: 10px;
    height: 10px;
  }
}

性能优化建议

  • 优先使用transformopacity属性触发硬件加速
  • 避免过多使用box-shadow等耗性能的属性
  • 对重复使用的动画考虑使用will-change: transform;
  • 简化关键帧数量,通常3-5个关键帧足够表现流畅动画

这些方法均无需JavaScript即可实现,通过调整颜色、尺寸和动画时长等参数可快速定制不同风格的加载效果。

标签: 加载动画
分享给朋友:

相关文章

vue实现预加载

vue实现预加载

Vue 实现预加载的方法 预加载可以显著提升用户体验,减少页面切换时的等待时间。以下是几种在 Vue 中实现预加载的常见方法: 使用 preload 或 prefetch 标签 在构建工具(如 We…

vue实现加载

vue实现加载

Vue 实现加载功能的方法 使用 v-if 或 v-show 控制加载状态 在模板中通过 v-if 或 v-show 控制加载动画的显示与隐藏。v-if 会完全移除 DOM 元素,而 v-show 仅…

vue实现gif动画

vue实现gif动画

在Vue中实现GIF动画 使用<img>标签直接引入GIF文件 在Vue组件中,可以直接通过<img>标签引入GIF文件。确保GIF文件已放置在项目的静态资源目录(如publ…

vue实现触底加载

vue实现触底加载

触底加载的实现方法 在Vue中实现触底加载功能,可以通过监听滚动事件或使用Intersection Observer API来实现。以下是两种常见的方法: 监听滚动事件 在组件中监听滚动事件,计算…

vue实现动画代码

vue实现动画代码

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,包括内置过渡组件、CSS 动画库集成以及第三方动画库结合。以下是几种常见实现方法: 使用 Vue 内置过渡组件 Vue 的 <tran…

vue实现ppt动画

vue实现ppt动画

Vue实现PPT动画的基本思路 使用Vue实现PPT动画效果,可以通过动态绑定CSS类、结合过渡动画和第三方库来实现。Vue的响应式特性非常适合处理动态内容切换和动画效果。 使用Vue过渡动画实现单…