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

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

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

相关文章

vue进度条实现

vue进度条实现

Vue 进度条实现方法 在Vue中实现进度条可以通过多种方式完成,以下是几种常见的方法: 使用HTML5原生进度条 HTML5提供了<progress>标签,可以快速实现一个简单的进度条…

react如何创建数据网格

react如何创建数据网格

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

php实现上传进度条

php实现上传进度条

PHP 文件上传进度条实现方法 在PHP中实现文件上传进度条需要结合前端和后端技术,以下是一种常见的实现方案: 使用 session.upload_progress 功能 PHP 5.4+ 内置了上…

vue进度条实现

vue进度条实现

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

Vue网格样式实现步骤

Vue网格样式实现步骤

Vue网格样式实现步骤 使用CSS Grid布局 在Vue组件的<style>部分直接定义CSS Grid布局,通过display: grid和相关属性控制行列。例如: <tem…

php实现进度条

php实现进度条

PHP 实现进度条的方法 在 PHP 中实现进度条可以通过多种方式完成,以下介绍几种常见的方法。 使用 CLI 命令行输出 在命令行环境中,可以通过不断更新同一行文本来模拟进度条。 $total…