当前位置:首页 > CSS

loading css 制作

2026-01-28 00:51:05CSS

加载动画的 CSS 实现方法

使用纯 CSS 创建旋转加载动画
通过 @keyframes 定义旋转动画,结合 border 属性模拟加载图标:

.loader {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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

点状加载动画
利用伪元素和延迟动画实现多点闪烁效果:

loading css 制作

.dot-loader {
  display: flex;
  gap: 8px;
}
.dot-loader div {
  width: 12px;
  height: 12px;
  background: #555;
  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%, 100% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
}

进度条式加载动画
通过缩放变换实现横向进度条动画:

loading css 制作

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

SVG 路径动画
使用 SVG 结合 CSS 实现更复杂的路径绘制效果:

<div class="svg-loader">
  <svg viewBox="0 0 50 50">
    <circle cx="25" cy="25" r="20" fill="none" stroke="#ddd" stroke-width="4"/>
    <circle cx="25" cy="25" r="20" fill="none" stroke="#4285f4" stroke-width="4" 
            stroke-dasharray="80 30" stroke-linecap="round" transform="rotate(-90 25 25)">
      <animateTransform attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="1.5s" repeatCount="indefinite"/>
    </circle>
  </svg>
</div>

实用优化技巧

  • 使用 will-change: transform 提升动画性能
  • 通过 prefers-reduced-motion 媒体查询为运动敏感用户提供替代方案
  • 使用 vh/vw 单位确保加载动画在不同设备上的比例一致性
  • 对移动设备添加 touch-action: manipulation 避免动画触发浏览器默认手势

以上方法可根据实际需求组合使用,通过调整颜色、尺寸和动画时长快速适配不同场景。

标签: loadingcss
分享给朋友:

相关文章

css菜单制作

css菜单制作

基础水平菜单制作 使用无序列表<ul>和<li>标签构建结构,CSS设置横向排列: <ul class="horizontal-menu"> <li&g…

css制作相册

css制作相册

使用CSS Grid布局制作相册 CSS Grid布局非常适合创建响应式相册,能够灵活调整行列和间距。 .photo-gallery { display: grid; grid-templa…

css制作时间轴

css制作时间轴

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

css制作雪花

css制作雪花

CSS 制作雪花效果 使用纯CSS可以创建简单的雪花动画效果,主要通过伪元素、动画和变换实现。 基础雪花结构 <div class="snowflake"></div> 六…

css模板制作

css模板制作

CSS 模板制作方法 制作 CSS 模板的核心是设计一套可复用的样式规则,适用于多种网页或项目。以下是具体方法: 定义基础样式 设置全局默认样式,包括字体、颜色、边距等。例如: body {…

css二级菜单制作

css二级菜单制作

使用纯CSS制作二级菜单 HTML结构采用嵌套的<ul>和<li>标签,主菜单项包含子菜单: <nav class="menu"> <ul>…