当前位置:首页 > CSS

css制作网格进度条

2026-01-08 20:12:48CSS

使用 CSS Grid 制作网格进度条

CSS Grid 是一种强大的布局工具,可以用来创建网格进度条。以下是实现方法:

HTML 结构

<div class="progress-grid">
  <div class="grid-item active"></div>
  <div class="grid-item active"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
</div>

CSS 样式

.progress-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列网格 */
  gap: 5px; /* 网格间距 */
  width: 200px;
}

.grid-item {
  height: 20px;
  background-color: #e0e0e0; /* 默认未激活颜色 */
  border-radius: 3px;
}

.grid-item.active {
  background-color: #4CAF50; /* 激活状态颜色 */
}

使用 Flexbox 制作网格进度条

Flexbox 是另一种实现网格进度条的简单方法:

HTML 结构

<div class="flex-progress">
  <div class="flex-item active"></div>
  <div class="flex-item active"></div>
  <div class="flex-item"></div>
  <div class="flex-item"></div>
</div>

CSS 样式

.flex-progress {
  display: flex;
  gap: 5px;
  width: 200px;
}

.flex-item {
  flex: 1;
  height: 20px;
  background-color: #e0e0e0;
  border-radius: 3px;
}

.flex-item.active {
  background-color: #4CAF50;
}

动态更新进度条

通过 JavaScript 可以动态更新进度条的进度:

// 获取所有网格项
const gridItems = document.querySelectorAll('.grid-item');

// 更新进度到 75%
function updateProgress(percent) {
  const activeCount = Math.floor(percent / 100 * gridItems.length);

  gridItems.forEach((item, index) => {
    if (index < activeCount) {
      item.classList.add('active');
    } else {
      item.classList.remove('active');
    }
  });
}

// 调用示例
updateProgress(75);

自定义网格进度条样式

可以进一步自定义网格进度条的样式:

/* 圆角样式 */
.grid-item {
  border-radius: 50%;
}

/* 渐变颜色 */
.grid-item.active {
  background: linear-gradient(to right, #4CAF50, #8BC34A);
}

/* 悬停效果 */
.grid-item:hover {
  transform: scale(1.1);
  transition: transform 0.2s;
}

响应式网格进度条

使网格进度条适应不同屏幕尺寸:

css制作网格进度条

.progress-grid {
  grid-template-columns: repeat(auto-fit, minmax(20px, 1fr));
}

这些方法提供了创建网格进度条的不同方式,可以根据具体需求选择最适合的方案。

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

相关文章

js实现录音进度条回放

js实现录音进度条回放

实现录音进度条回放的方法 使用Web Audio API和MediaRecorder API Web Audio API提供了音频处理的底层能力,MediaRecorder API用于录制音频流。结合…

js实现网格

js实现网格

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

vue实现水波球进度条

vue实现水波球进度条

Vue 实现水波球进度条 使用 SVG 和动态计算 在 Vue 中实现水波球进度条,可以通过 SVG 结合动态计算波浪效果。以下是一个基于 Vue 3 的实现方法: <template>…

php实现的进度条

php实现的进度条

PHP 实现的进度条方法 使用 HTML 和 CSS 结合 PHP 通过 PHP 生成 HTML 和 CSS 代码,动态显示进度条。这种方法适用于网页端展示。 <?php $progress…

vue进度条实现

vue进度条实现

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

php实现进度条

php实现进度条

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