…">
当前位置:首页 > CSS

css制作网格进度条

2026-04-01 01:09:35CSS

使用 CSS Grid 制作网格进度条

通过 CSS Grid 布局可以轻松创建网格化的进度条效果。以下是一个基础的实现方法:

<div class="grid-progress">
  <div class="progress-step active"></div>
  <div class="progress-step active"></div>
  <div class="progress-step"></div>
  <div class="progress-step"></div>
</div>
.grid-progress {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  width: 300px;
}

.progress-step {
  height: 20px;
  background-color: #e0e0e0;
  border-radius: 4px;
}

.progress-step.active {
  background-color: #4CAF50;
}

动态控制进度状态

通过 JavaScript 动态控制进度网格的激活状态:

css制作网格进度条

// 设置进度到第3步(索引从0开始)
function setProgress(step) {
  const steps = document.querySelectorAll('.progress-step');
  steps.forEach((el, index) => {
    el.classList.toggle('active', index <= step);
  });
}

添加过渡动画效果

为进度变化添加平滑的过渡效果:

css制作网格进度条

.progress-step {
  transition: background-color 0.3s ease;
}

响应式网格进度条

使用 CSS 变量使网格进度条适应不同尺寸:

.grid-progress {
  --step-count: 4;
  --step-gap: 8px;

  grid-template-columns: repeat(var(--step-count), 1fr);
  gap: var(--step-gap);
}

@media (max-width: 600px) {
  .grid-progress {
    --step-gap: 4px;
  }
}

进阶样式设计

添加更丰富的视觉效果:

.progress-step {
  position: relative;
  overflow: hidden;
}

.progress-step.active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #4CAF50, #8BC34A);
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}

这些方法可以组合使用,根据实际需求调整网格数量、颜色和动画效果,创建出各种风格的网格进度条。

标签: 网格进度条
分享给朋友:

相关文章

react如何创建数据网格

react如何创建数据网格

创建数据网格的基本方法 在React中创建数据网格可以通过多种方式实现,常见的方法包括使用第三方库或手动构建表格组件。以下是几种常见方案: 使用第三方库(推荐) React-Table 安装依赖:…

网格制作css

网格制作css

网格制作 CSS 使用 CSS 创建网格布局可以通过多种方式实现,以下是几种常见的方法: 使用 CSS Grid CSS Grid 是一种强大的布局系统,允许创建复杂的二维网格布局。 .conta…

js实现上传进度条

js实现上传进度条

使用XMLHttpRequest实现上传进度条 XMLHttpRequest是传统的AJAX请求方式,支持上传进度监控。通过监听upload对象的progress事件获取上传进度信息。 const…

js实现网格

js实现网格

实现网格布局的方法 使用CSS Grid布局可以快速创建网格结构。以下是一个基础示例: <div class="grid-container"> <div class=…

vue请求实现进度条

vue请求实现进度条

实现请求进度条的方法 在Vue中实现请求进度条可以通过多种方式完成,以下是几种常见的方法: 使用axios拦截器 axios拦截器可以在请求发出前和响应返回后执行特定逻辑,适合用于进度条控制。…

vue进度条实现

vue进度条实现

使用原生HTML5 <progress> 标签 在Vue中可以直接使用HTML5的<progress>标签实现简单的进度条。 <template> <…