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

响应式网格进度条

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

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

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

css制作网格进度条

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

相关文章

vue请求实现进度条

vue请求实现进度条

实现请求进度条的方法 在Vue中实现请求进度条可以通过多种方式完成,常见的有使用axios拦截器和第三方库如NProgress。以下是具体实现方法: 使用axios拦截器配合NProgress 安…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

h5实现进度条

h5实现进度条

使用HTML5的<progress>标签 HTML5提供了原生进度条标签<progress>,适用于展示任务完成进度。基本语法如下: <progress value=…

vue实现网格填入

vue实现网格填入

Vue 实现网格填入的方法 使用 v-for 动态生成网格 通过 Vue 的 v-for 指令可以轻松实现网格布局。创建一个二维数组作为数据源,用嵌套的 v-for 循环渲染行列。 <temp…

php实现进度条

php实现进度条

PHP 实现进度条的方法 使用 HTML 和 CSS 结合 PHP 实现进度条 在 PHP 中,进度条通常通过 HTML 和 CSS 实现,PHP 负责计算进度并更新前端显示。 <div s…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…