当前位置:首页 > 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实现进度条

Vue 实现进度条的方法 使用原生 HTML 和 CSS 结合 Vue 数据绑定 创建一个简单的进度条,通过 Vue 的数据绑定动态控制进度值。 <template> <div…

vue进度条实现

vue进度条实现

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

react实现进度条

react实现进度条

使用原生HTML5实现进度条 在React中可以直接使用HTML5的<progress>元素实现基础进度条: function ProgressBar({ value, max }) {…

vue实现水波球进度条

vue实现水波球进度条

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

网格制作css

网格制作css

网格制作 CSS 使用 CSS 创建网格布局可以通过多种方式实现,包括传统的 float、flexbox 以及现代的 CSS Grid。以下是几种常见的网格布局实现方法。 使用 CSS Grid 创…

Vue网格样式实现步骤

Vue网格样式实现步骤

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