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

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

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

相关文章

jquery进度条

jquery进度条

jQuery 进度条实现方法 使用 HTML5 <progress> 元素结合 jQuery <progress id="fileProgress" value="0" max="1…

js实现录音进度条回放

js实现录音进度条回放

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

jquery进度条插件

jquery进度条插件

jQuery进度条插件推荐 ProgressBar.js 一个灵活且轻量级的进度条库,支持圆形、直线和自定义形状。通过SVG渲染,动画效果流畅,支持动态更新进度。适合需要可视化进度展示的场景。 jQ…

vue请求实现进度条

vue请求实现进度条

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

vue实现网格填入

vue实现网格填入

Vue 网格填入实现方法 使用 v-for 动态渲染网格 通过 Vue 的 v-for 指令可以快速生成网格结构,结合计算属性动态控制填入内容: <template> <div…

vue实现进度条

vue实现进度条

Vue 实现进度条的几种方法 使用原生 HTML5 <progress> 标签 Vue 可以结合 HTML5 的 <progress> 标签快速实现基础进度条: <te…