当前位置:首页 > 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); }
}

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

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

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

.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 避免动画触发浏览器默认手势

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

loading css 制作

标签: loadingcss
分享给朋友:

相关文章

css如何制作圆

css如何制作圆

使用 border-radius 属性制作圆 通过设置 border-radius 属性为元素添加圆角效果。当 border-radius 的值等于元素宽度和高度的一半时,元素会呈现圆形。 .ci…

css制作图片

css制作图片

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

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-na…

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

css制作详情页

css制作详情页

CSS制作详情页的关键步骤 布局规划 确定详情页的整体布局结构,通常包括头部、商品展示区、参数区、评价区等模块。使用Flexbox或Grid布局实现响应式设计,确保在不同设备上正常显示。 样式设计…