当前位置:首页 > CSS

css loading制作

2026-02-12 19:03:33CSS

CSS Loading 动画制作方法

通过CSS可以创建多种加载动画效果,以下是几种常见实现方式:

旋转动画 利用@keyframestransform属性实现旋转效果:

.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: #333;
  border-radius: 50%;
  animation: bounce 1s 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%, 100% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
}

进度条加载 线性进度条动画实现:

css loading制作

.progress-loader {
  width: 100%;
  height: 4px;
  background: #e0e0e0;
  position: relative;
  overflow: hidden;
}
.progress-loader::before {
  content: '';
  position: absolute;
  height: 100%;
  width: 30%;
  background: #4285f4;
  animation: progress 2s linear infinite;
}
@keyframes progress {
  0% { left: -30%; }
  100% { left: 100%; }
}

骨架屏加载 内容加载前的占位效果:

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

实现技巧

性能优化 使用will-change属性提升动画性能:

.loader {
  will-change: transform;
}

响应式设计 通过vw/vh单位使加载动画适应不同屏幕:

css loading制作

.loader {
  width: 10vw;
  height: 10vw;
}

颜色变量 使用CSS变量方便主题切换:

:root {
  --loader-color: #3498db;
}
.loader {
  border-top-color: var(--loader-color);
}

进阶效果

3D旋转加载 添加透视效果实现三维旋转:

.cube-loader {
  width: 40px;
  height: 40px;
  transform-style: preserve-3d;
  animation: rotate3d 2s infinite ease;
}
@keyframes rotate3d {
  0% { transform: rotateX(0) rotateY(0); }
  100% { transform: rotateX(360deg) rotateY(360deg); }
}

自定义动画曲线 使用cubic-bezier调整动画节奏:

.loader {
  animation: spin 1s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite;
}

标签: cssloading
分享给朋友:

相关文章

css网页制作

css网页制作

CSS网页制作基础 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是核心知识点: 选择器与样式规则 /* 标签选择器 */ p { color: #333; fo…

css制作导航条

css制作导航条

导航条的基本结构 使用HTML的<nav>标签和<ul>列表创建导航条的基本结构。导航项通常包含链接,示例代码如下: <nav> <ul>…

css制作图片

css制作图片

CSS 制作图片的方法 使用 background-image 属性 通过 background-image 属性可以为元素设置背景图片。这种方法适用于将图片作为背景而非内容的一部分。 .eleme…

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; height:…

制作css导航栏实验

制作css导航栏实验

实验目标 通过CSS实现一个水平导航栏,包含悬停效果和响应式设计。 基本HTML结构 创建一个简单的导航栏HTML结构,使用<ul>和<li>标签组织导航项:…

css制作时间轴

css制作时间轴

使用 Flexbox 布局制作时间轴 通过 Flexbox 可以快速实现水平或垂直时间轴。以下是一个垂直时间轴的示例代码: .timeline { display: flex; flex-d…