当前位置:首页 > CSS

loading css 制作

2026-04-01 03:22:05CSS

使用 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: 10px;
  height: 10px;
  background-color: #3498db;
  border-radius: 50%;
  animation: bounce 1.4s infinite ease-in-out;
}

.dot-loader div:nth-child(1) { animation-delay: -0.32s; }
.dot-loader div:nth-child(2) { animation-delay: -0.16s; }

@keyframes bounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); }
}

进度条加载动画

通过 width 属性的动画实现进度条效果:

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

.progress-loader::after {
  content: '';
  display: block;
  width: 20%;
  height: 100%;
  background-color: #3498db;
  animation: progress 2s linear infinite;
}

@keyframes progress {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(500%); }
}

自定义 SVG 加载动画

使用 SVG 和 CSS 结合实现更复杂的加载效果:

.svg-loader {
  width: 50px;
  height: 50px;
  animation: rotate 2s linear infinite;
}

.svg-loader circle {
  stroke: #3498db;
  stroke-width: 4;
  stroke-dasharray: 80;
  stroke-dashoffset: 60;
  animation: dash 1.5s ease-in-out infinite;
}

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

@keyframes dash {
  0% { stroke-dashoffset: 80; }
  50% { stroke-dashoffset: 20; }
  100% { stroke-dashoffset: 80; }
}

渐变背景加载动画

通过背景渐变和动画实现动态背景效果:

loading css 制作

.gradient-loader {
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, #3498db, #e74c3c, #f1c40f);
  background-size: 200% 200%;
  animation: gradient 2s ease infinite;
  border-radius: 8px;
}

@keyframes gradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

注意事项

  • 使用 animation 属性时,注意设置 infinite 以实现循环动画。
  • 通过 @keyframes 定义动画的关键帧,控制动画的中间状态。
  • 结合 transformopacitybackground 属性实现多样化的加载效果。

以上方法可以根据实际需求调整颜色、尺寸和动画时间。

标签: loadingcss
分享给朋友:

相关文章

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

怎么制作css表格

怎么制作css表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,CSS用于控制样式。以下是一个基础示例: <table class="styled-table">…

css制作搜索框

css制作搜索框

制作搜索框的基本结构 使用HTML创建一个简单的搜索框结构,包含输入框和搜索按钮: <div class="search-box"> <input type="text" pl…

使用css制作钢琴块

使用css制作钢琴块

使用 CSS 制作钢琴块 钢琴块通常由黑白键交替排列组成,可以通过 HTML 和 CSS 实现。以下是实现钢琴块的步骤: HTML 结构 创建一个包含黑白键的容器,使用 <div> 元素…

css表头制作

css表头制作

CSS 表头制作方法 固定表头(滚动时保持可见) 使用 position: sticky 属性可以创建滚动时固定的表头。确保父容器有明确的高度和 overflow 属性。 .table-conta…

css日历制作

css日历制作

基础日历结构 使用HTML创建日历的基本框架,通常包含表格元素。月份、星期几和日期通过<table>标签组织,表头显示星期几,表格主体填充日期数字。 <div class="cal…