当前位置:首页 > CSS

loading css 制作

2026-02-27 03:58:08CSS

CSS 加载动画制作方法

CSS 加载动画可以通过关键帧动画(@keyframes)和 CSS 属性实现。以下是几种常见的加载动画实现方式。

旋转加载动画

使用 @keyframes 定义一个旋转动画,并将其应用到元素上:

loading 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 {
  width: 10px;
  height: 10px;
  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: scale(0); }
  50% { transform: scale(1); }
}

进度条加载动画

使用 @keyframes 实现宽度变化的进度条:

loading css 制作

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

.progress-loader::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0%;
  background-color: #3498db;
  animation: progress 2s linear infinite;
}

@keyframes progress {
  0% { width: 0%; }
  100% { width: 100%; }
}

波浪加载动画

通过伪元素和 @keyframes 实现波浪效果:

.wave-loader {
  width: 50px;
  height: 50px;
  position: relative;
}

.wave-loader::before,
.wave-loader::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px solid #3498db;
  border-radius: 50%;
  opacity: 0;
  animation: wave 1.5s linear infinite;
}

.wave-loader::after {
  animation-delay: 0.75s;
}

@keyframes wave {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}

优化加载动画性能

  • 使用 transformopacity 代替 widthheight 动画,以提高性能。
  • 限制动画的复杂度和数量,避免过多消耗资源。
  • 使用 will-change 属性提前告知浏览器元素将发生动画变化。
.loader {
  will-change: transform;
}

响应式加载动画

通过媒体查询调整加载动画的大小或速度:

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

以上方法提供了多种 CSS 加载动画的实现方式,可根据需求选择或组合使用。

标签: loadingcss
分享给朋友:

相关文章

css 制作导航

css 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul class…

css字体制作

css字体制作

CSS字体设置基础 在CSS中设置字体主要通过font-family属性实现,可以指定多个字体作为备选。系统会优先使用第一个可用字体。 body { font-family: "Helvetic…

css如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

css图标制作

css图标制作

CSS 图标制作方法 使用 Unicode 或图标字体 通过引入字体库(如 Font Awesome)或直接使用 Unicode 符号生成图标。例如,Font Awesome 的图标可通过类名调用:…

css右导航栏制作

css右导航栏制作

CSS右导航栏制作方法 固定定位法 使用position: fixed将导航栏固定在视窗右侧,结合right和top属性控制位置。示例代码: .right-navbar { position:…

css制作锁屏页面

css制作锁屏页面

使用CSS制作锁屏页面 锁屏页面通常包含一个背景、时间显示以及可能的解锁按钮或输入框。以下是实现锁屏页面的关键CSS代码和结构。 HTML结构 <!DOCTYPE html> <h…