当前位置:首页 > 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 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; 属性: 值; } 例如: p { color: blu…

纯css制作下拉菜单

纯css制作下拉菜单

纯CSS下拉菜单实现方法 通过CSS的:hover伪类和display属性可以实现纯CSS下拉菜单,无需JavaScript。以下是具体实现方式: HTML结构示例: <nav class=…

css制作钢琴块

css制作钢琴块

使用CSS制作钢琴块 钢琴块可以通过HTML和CSS的配合实现,主要利用flexbox布局和伪元素来模拟钢琴的黑白键排列。 HTML结构 <div class="piano"> &l…

咖啡店css制作

咖啡店css制作

咖啡店网页CSS设计要点 布局与配色 咖啡店网页通常采用温暖自然的配色方案,如棕色、米色、浅绿色等大地色系。主色调可选择咖啡色(#6F4E37)作为品牌色,搭配奶油色(#FFF8E8)作为背景。使用C…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…

制作css

制作css

制作CSS的基础方法 CSS(层叠样式表)用于控制网页的样式和布局。以下是创建和使用CSS的基本方法。 内联样式 直接在HTML元素的style属性中编写CSS代码。适用于单个元素的样式调整。…