当前位置:首页 > CSS

css制作加载动画

2026-03-12 06:34:47CSS

使用CSS制作加载动画

CSS加载动画可以通过关键帧动画(@keyframes)和简单的HTML元素实现。以下是几种常见的方法:

旋转动画

通过旋转一个元素实现加载效果:

css制作加载动画

<div class="loader"></div>
.loader {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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

点状加载动画

使用多个点通过动画形成加载效果:

css制作加载动画

<div class="dot-loader">
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
</div>
.dot-loader {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.dot {
  width: 15px;
  height: 15px;
  background-color: #3498db;
  border-radius: 50%;
  animation: bounce 1.4s infinite ease-in-out;
}

.dot:nth-child(2) {
  animation-delay: 0.2s;
}

.dot:nth-child(3) {
  animation-delay: 0.4s;
}

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

进度条加载动画

创建一个从左到右填充的进度条:

<div class="progress-loader">
  <div class="progress-bar"></div>
</div>
.progress-loader {
  width: 100%;
  height: 5px;
  background-color: #f3f3f3;
  overflow: hidden;
}

.progress-bar {
  height: 100%;
  width: 0;
  background-color: #3498db;
  animation: progress 2s linear infinite;
}

@keyframes progress {
  0% { width: 0; margin-left: 0; }
  50% { width: 50%; margin-left: 25%; }
  100% { width: 0; margin-left: 100%; }
}

脉冲效果加载动画

通过缩放实现脉冲效果:

<div class="pulse-loader"></div>
.pulse-loader {
  width: 50px;
  height: 50px;
  background-color: #3498db;
  border-radius: 50%;
  animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
  0% { transform: scale(0.8); opacity: 0.7; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0.8); opacity: 0.7; }
}

自定义加载动画

可以通过调整@keyframes中的属性(如transformopacity等)和动画时间(animation-duration)来创建更多样化的效果。CSS加载动画的优势在于轻量、高性能,且无需额外依赖库。

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

相关文章

vue实现gif动画

vue实现gif动画

Vue 中实现 GIF 动画的方法 在 Vue 中实现 GIF 动画可以通过多种方式完成,具体取决于需求和使用场景。以下是几种常见的方法: 直接使用 <img> 标签加载 GIF 最简单…

vue实现预加载

vue实现预加载

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

vue动画实现原理

vue动画实现原理

Vue动画实现原理 Vue的动画系统基于CSS过渡和动画,结合Vue的响应式系统,提供声明式的方式管理元素进入/离开的动画效果。核心原理分为以下几个部分: 过渡类名自动应用 Vue在元素插入…

vue 实现异步加载

vue 实现异步加载

Vue 异步加载的实现方法 动态导入组件(懒加载) 使用 import() 语法动态导入组件,Vue 会将其转换为异步加载的组件。适用于路由或组件按需加载。 const AsyncComponent…

vue点击实现动画

vue点击实现动画

Vue 中实现点击动画的方法 使用 CSS 过渡和 Vue 的 v-on 指令 在 Vue 模板中绑定 @click 事件,通过修改数据属性触发 CSS 过渡效果。示例代码: <templat…

vue实现gif动画

vue实现gif动画

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