当前位置:首页 > CSS

css制作网格进度条

2026-01-27 22:44:12CSS

使用CSS Grid布局制作网格进度条

通过CSS Grid布局可以轻松创建网格进度条。定义一个容器元素作为网格,子元素表示进度块。

<div class="grid-progress">
  <div class="progress-block"></div>
  <div class="progress-block"></div>
  <!-- 更多进度块 -->
</div>
.grid-progress {
  display: grid;
  grid-template-columns: repeat(10, 1fr); /* 10列网格 */
  gap: 5px;
  width: 100%;
}

.progress-block {
  height: 20px;
  background-color: #ddd;
}

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

使用Flexbox实现网格进度条

Flexbox同样适用于创建网格进度条,通过flex布局控制进度块的排列。

css制作网格进度条

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

.progress-block {
  flex: 1;
  height: 20px;
  background-color: #ddd;
}

.progress-block.completed {
  background-color: #2196F3; /* 完成状态颜色 */
}

动态更新进度条

结合JavaScript可以动态更新网格进度条的进度。

css制作网格进度条

const progressBlocks = document.querySelectorAll('.progress-block');
let currentProgress = 0;

function updateProgress(percent) {
  const blocksToFill = Math.floor(percent / 10);
  progressBlocks.forEach((block, index) => {
    block.classList.toggle('active', index < blocksToFill);
  });
}

自定义网格样式

通过CSS变量可以轻松自定义网格进度条的外观。

:root {
  --progress-color: #FF5722;
  --inactive-color: #E0E0E0;
  --block-height: 15px;
}

.custom-progress {
  --gap-size: 3px;
  display: grid;
  grid-template-columns: repeat(20, 1fr);
  gap: var(--gap-size);
}

.custom-progress .block {
  height: var(--block-height);
  background: var(--inactive-color);
}

.custom-progress .block.filled {
  background: var(--progress-color);
}

响应式网格进度条

使用媒体查询确保网格进度条在不同设备上正常显示。

.responsive-progress {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));
  gap: 2px;
}

@media (max-width: 600px) {
  .responsive-progress {
    grid-template-columns: repeat(auto-fit, minmax(5px, 1fr));
  }
}

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

相关文章

vue实现水波球进度条

vue实现水波球进度条

实现水波球进度条的方法 使用 SVG 和 CSS 动画 创建一个圆形 SVG 元素,通过 CSS 动画实现水波效果。定义一个波浪路径,使用 animateTransform 或 CSS keyfram…

vue进度条实现

vue进度条实现

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

php实现上传进度条

php实现上传进度条

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

js实现上传进度条

js实现上传进度条

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

js实现加载进度条

js实现加载进度条

使用XMLHttpRequest监听进度事件 通过XMLHttpRequest对象的progress事件可以获取文件加载进度。创建一个进度条div,根据事件中的loaded和total属性更新进度条宽…

vue实现水波球进度条

vue实现水波球进度条

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