当前位置:首页 > CSS

css如何制作加载

2026-04-01 16:45:12CSS

使用纯CSS制作加载动画

通过CSS的@keyframesanimation属性可以创建平滑的加载动画效果。以下是几种常见的实现方式:

旋转加载动画

css如何制作加载

.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); }
}

点状加载动画

.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伪元素增强效果

可以通过:before:after伪元素创建更复杂的加载动画:

css如何制作加载

.double-spinner {
  position: relative;
  width: 40px;
  height: 40px;
}

.double-spinner:before,
.double-spinner:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  opacity: 0.6;
}

.double-spinner:before {
  background-color: #3498db;
  animation: scaleout 2s infinite ease-in-out;
}

.double-spinner:after {
  background-color: #e74c3c;
  animation: scaleout 2s infinite ease-in-out 1s;
}

@keyframes scaleout {
  0% { transform: scale(0); }
  100% { transform: scale(1); opacity: 0; }
}

进度条式加载动画

线性进度条适合显示加载进度:

.progress-bar {
  width: 100%;
  height: 4px;
  background-color: #f3f3f3;
  position: relative;
  overflow: hidden;
}

.progress-bar:after {
  content: "";
  position: absolute;
  height: 100%;
  width: 30%;
  background-color: #2ecc71;
  animation: progress 2s linear infinite;
}

@keyframes progress {
  0% { left: -30%; }
  100% { left: 100%; }
}

响应式加载动画设计

为确保加载动画在不同设备上表现良好,可以添加响应式设计:

@media (max-width: 768px) {
  .loader {
    width: 30px;
    height: 30px;
    border-width: 3px;
  }

  .dot-loader div {
    width: 8px;
    height: 8px;
  }
}

性能优化建议

  1. 优先使用transformopacity属性制作动画,这些属性不会触发重排
  2. 避免过多使用box-shadow等耗性能的属性
  3. 对动画元素使用will-change: transform提示浏览器优化
  4. 限制同时运行的动画数量

这些CSS技术可以组合使用,创建各种自定义加载效果,无需JavaScript即可实现流畅的视觉反馈。

标签: 加载css
分享给朋友:

相关文章

css制作扇形

css制作扇形

使用 CSS 制作扇形 方法一:利用 border-radius 和 transform 通过设置 border-radius 和 transform 属性,可以创建一个扇形。以下是一个示例代码:…

css导航制作ppt

css导航制作ppt

CSS导航制作PPT的方法 使用CSS制作导航菜单,并将其应用于PPT演示中,可以通过以下方法实现: 设计导航菜单结构 在HTML中创建导航菜单的基本结构,通常使用<ul>和<li…

div和css制作

div和css制作

使用 div 和 CSS 制作网页布局 HTML 结构 通过 div 标签划分页面区域,例如头部、主体、侧边栏和页脚: <div class="container"> <div…

如何制作css雪碧图

如何制作css雪碧图

什么是CSS雪碧图 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过CSS的background-position属性控制显示特定部分。这种技术可以减少HT…

css制作流程图

css制作流程图

使用CSS制作流程图的方法 基础布局结构 采用HTML的<div>元素构建流程节点,结合CSS的flexbox或grid布局实现整体排列。节点间用伪元素或独立元素(如<span>…

网页制作css

网页制作css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; 属性: 值; } 例如: p { color: blu…