CSS实现进度条和订单进度条

下面我将详细讲解如何在网页中使用CSS实现进度条和订单进度条的完整攻略。

CSS 实现进度条

在CSS中,我们可以使用伪元素 ::before::after 来实现进度条。以下是 HTML 和 CSS 代码:

<div class="progress-bar">
  <div class="progress"></div>
</div>
.progress-bar {
  width: 100%;
  height: 30px;
  background: #ddd;
  position: relative;
}

.progress {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: #4caf50;
  width: 50%;
  transition: width 1s ease-in-out;
}

.progress-bar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 10px;
  background: #333;
}

.progress-bar::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 10px;
  background: #333;
}

代码解释:

  • .progress-bar 容器定义了进度条的样式,包括宽度、高度和背景颜色
  • .progress 定义了进度条的样式,包括宽度、高度、背景颜色和过渡效果
  • .progress-bar::before 定义了进度条左侧的线条样式
  • .progress-bar::after 定义了进度条右侧的线条样式

为了让进度条动起来,我们可以用 JavaScript 动态改变进度条的 width 属性。以下是 JavaScript 代码:

let progress = document.querySelector(".progress");
let count = 0;
let intervalId = setInterval(() => {
  count += 10;
  progress.style.width = count + "%";
  if (count === 100) {
    clearInterval(intervalId);
  }
}, 1000);

代码解释:

  • progress 变量用来获取进度条元素
  • count 变量用来记录进度条的百分比
  • setInterval() 方法用来循环执行改变进度条宽度的操作
  • clearInterval() 方法用来停止循环执行

我们可以修改 count 的值来控制进度条的百分比,从而达到动态效果。

CSS 实现订单进度条

在订单流程中,我们经常需要使用订单进度条来指示用户当前的订单状态。接下来我将详细讲解如何使用 HTML 和 CSS 来实现订单进度条。

以下是 HTML 和 CSS 代码:

<div class="order-progress">
  <div class="step active">
    <div class="bullet">1</div>
    <div class="title">订单已确认</div>
  </div>
  <div class="step">
    <div class="bullet">2</div>
    <div class="title">准备发货</div>
  </div>
  <div class="step">
    <div class="bullet">3</div>
    <div class="title">已发货</div>
  </div>
  <div class="step">
    <div class="bullet">4</div>
    <div class="title">已完成</div>
  </div>
</div>
.order-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 25%;
}

.bullet {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
}

.active .bullet {
  background: #4caf50;
  color: #fff;
}

.title {
  margin-top: 10px;
}

代码解释:

  • .order-progress 容器定义了订单进度条的样式,使用了 flex 布局并设置了对齐方式和内容之间的间距
  • .step 定义了每个步骤的样式,使用了 flex 布局和垂直方向布局
  • .bullet 定义了每个步骤的圆圈样式,并设置了宽度、高度、圆角、背景颜色和居中对齐
  • .active .bullet 定义了当前步骤圆圈的样式,使用了不同的背景颜色和文字颜色

为了让订单进度条动起来,我们可以使用 JavaScript 动态改变当前步骤的类名。以下是 JavaScript 代码:

let steps = document.querySelectorAll(".step");
let count = 0;
let intervalId = setInterval(() => {
  if (count > 0) {
    steps[count - 1].classList.remove("active");
  }
  steps[count].classList.add("active");
  count++;
  if (count === steps.length) {
    clearInterval(intervalId);
  }
}, 1000);

代码解释:

  • steps 变量用来获取所有步骤元素
  • count 变量用来记录当前步骤的索引
  • setInterval() 方法用来循环执行改变当前步骤的操作
  • clearInterval() 方法用来停止循环执行

我们可以修改 count 的值来控制当前步骤的变化,并使用 classList 来增加和删除 active 类名来改变样式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS实现进度条和订单进度条 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • JavaScript 事件监听实例代码[兼容IE,firefox] 含注释

    这里为大家详细讲解“JavaScript 事件监听实例代码[兼容IE,firefox] 含注释” 的完整攻略。 1. 事件监听的概念 在 HTML 中,JavaScript 可以接收在页面上发生的事件,如用户单击按钮或者鼠标移动,处理这些事件就需要使用到事件监听器。 在理解事件监听之前,先来介绍一下事件的冒泡和捕获的概念。 1.1 事件的冒泡和捕获 事件冒泡…

    css 2023年6月9日
    00
  • CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)

    以下是详细的攻略步骤: 一、创建HTML结构 首先,我们需要在HTML中创建菜单的结构。如下所示: <div class="menu-container"> <div class="menu-item">Item 1</div> <div class="menu-it…

    css 2023年6月9日
    00
  • jQuery Validate表单验证插件的基本使用方法及功能拓展

    jQuery Validate表单验证插件基本使用方法 jQuery Validate是一款小巧而功能强大的表单验证插件。它可以提供简单易用的验证规则,并且支持自定义检验函数和错误信息。下面是详细的使用方法。 安装jQuery Validate 在使用jQuery Validate之前,要先在页面中引入jQuery库和jQuery Validate插件。假设…

    css 2023年6月9日
    00
  • div 内table 居中实现代码

    实现 div 内 table 居中可以采用以下两种方法: 方法一:使用 flex HTML 代码: <div class="container"> <table> <tr> <td>示例</td> <td>示例</td> <td>示例</…

    css 2023年6月10日
    00
  • css重绘与重排的方法

    当我们在开发网站时,如果使用了CSS样式表进行样式布局,那么在浏览器渲染页面时,会按照以下流程进行渲染: 解析HTML文档,创建DOM树; 解析CSS样式,生成CSS规则树; 将DOM树和CSS规则树合并,生成渲染树; 对渲染树进行布局,计算每个元素的大小和位置等信息; 对渲染树进行绘制,将元素渲染到页面上。 在这个过程中,当我们修改了DOM树或者CSS样式…

    css 2023年6月9日
    00
  • jquery动画效果学习笔记(8种效果)

    下面我将详细讲解“jquery动画效果学习笔记(8种效果)”的完整攻略。该攻略主要介绍了使用 jQuery 实现常见的动画效果,它包含了以下 8 种效果: 淡入淡出效果 滑动效果 渐变效果 高度宽度变化效果 动画排队效果 动画回调函数 动画执行速度控制 动态图像缩放效果 淡入淡出效果 淡入淡出效果是指元素渐渐显现和消失的效果,可以使用 jQuery 的 fa…

    css 2023年6月10日
    00
  • js和css写一个可以自动隐藏的悬浮框

    首先,需要明确要实现的效果:在页面中添加一个悬浮框,可以自动隐藏,当鼠标放到悬浮框上时会自动显示,鼠标移开悬浮框后,悬浮框会自动隐藏。 实现这个功能需要用到JavaScript和CSS,具体步骤如下: HTML部分 首先在HTML文件中添加悬浮框的代码,通常可以使用div标签来创建悬浮框,然后给它一个特殊的class或id属性以用于JavaScript和CS…

    css 2023年6月10日
    00
  • js实现图片无缝滚动特效

    下面是“js实现图片无缝滚动特效”的完整攻略: 简介 无缝滚动特效是网页设计中常用的效果之一,可以使页面更加生动和丰富。JS实现图片无缝滚动特效需要以下几个步骤: HTML布局; CSS样式; JS编写。 HTML布局 在HTML中,需要先设置好图片的容器和展示区域。 <div class="scroll-container"&gt…

    css 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部