【HTML】步骤进度条组件
HTML步骤进度条
效果图

思路
- 分份:
有多少个步骤就可以分成多少分,每份宽度应该为100%除以步骤数,故以上效果图中的每份宽度应该为25%,每份用一个div。
- 每份:
每份中可以看成是三个元素,一个使用span显示序号,一个使用div显示进度线,最后一个使用span显示文字,三者皆水平居中(或者本质上显示进度线的宽度为100%不需要居中,文本使用文本居中即可,序号div让其父div使用弹性居中布局),显示序号的写在显示进度线的后面(确保图层更高,序号不被覆盖),显示序号的和显示进度线的重合在同一行(显示序号使用absolute定位,弹性居中布局),显示文字的另起新行。
- 两边:
以上内容完成后分别在序号1和序号4的左边和右边会有多出来的背景,可以使用渐变效果,让其中一半显示显示背景色,另一半显示透明色即可。
- 已完成进度效果:
更改背景色即可,但要注意两边的效果
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>步骤进度条</title>
<style>
/* 使用弹性居中布局让所有分部居中水平排列 */
.steps {
padding: 20px;
display: flex;
justify-content: center;
}
/* 进度线宽,4份,25% */
.step {
width: 25%;
height: 20px;
}
/* 进度线和序号,使用弹性居中布局让序号和进度线居中 */
.step-progress {
display: flex;
justify-content: center;
}
/* 文本居中 */
.step-text {
width: 100%;
margin-top: 10px;
text-align: center;
}
/* 进度线 */
.step-line {
width: 100%;
height: 9px;
margin-top: 7px;
background-color: #cccccc;
}
/* 数字序号 */
.step-num {
width: 18px;
height: 18px;
line-height: 17px;
/* 圆角背景 */
border-radius: 50%;
color: #ffffff;
font-size: 16px;
/* 序号居中显示 */
text-align: center;
background-color: #cccccc;
border: 2px solid #cccccc;
/* 使用相对于父元素定位,强行回到原来的位置 */
position: absolute;
}
/* 使用渐变背景处理两边 */
.step-progress.right div{
background: linear-gradient(to right, #cccccc 0%, #cccccc 50%, transparent 51%, transparent 100%);
}
.step-progress.left div{
background: linear-gradient(to left, #cccccc 0%, #cccccc 50%, transparent 51%, transparent 100%);
}
/* 完成效果 */
.step-progress.done div{
background: #4395ff;
}
.step-progress.done span{
background-color: #4395ff;
border: 2px solid #4395ff;
}
/* 完成效果左右两边特制 */
.step-progress.right.done div{
background: linear-gradient(to right, #4395ff 0%, #4395ff 50%, transparent 51%, transparent 100%);
}
.step-progress.left.done div{
background: linear-gradient(to left, #4395ff 0%, #4395ff 50%, transparent 51%, transparent 100%);
}
</style>
</head>
<body>
<!-- 步骤进度条 -->
<div class="steps">
<!-- 第一部分 -->
<div class="step">
<div class="step-progress left done">
<div class="step-line"></div>
<span class="step-num">1</span>
</div>
<div class="step-text">
<span>选场</span>
</div>
</div>
<!-- 第二部分 -->
<div class="step">
<div class="step-progress done">
<div class="step-line"></div>
<span class="step-num">2</span>
</div>
<div class="step-text">
<span>选座</span>
</div>
</div>
<!-- 第三部分 -->
<div class="step">
<div class="step-progress">
<div class="step-line"></div>
<span class="step-num">3</span>
</div>
<div class="step-text">
<span>付款</span>
</div>
</div>
<!-- 第四部分 -->
<div class="step">
<div class="step-progress right">
<div class="step-line"></div>
<span class="step-num">4</span>
</div>
<div class="step-text">
<span>观影</span>
</div>
</div>
</div>
</body>
</html>
使用
- 更改分段数量:
改step中的宽占比和下面第n部分的数量即可
- 更改完成分段:
在step-progress中加入done即可
参考资料
【CSS3实现背景色一半红一半白】https://blog.csdn.net/qq_40951289/article/details/106928900
【Steps步骤条, Bootstrap风格步骤条】https://www.cnblogs.com/romayn/p/9036174.html
【HTML】步骤进度条组件的更多相关文章
- 手把手教你实现一个 Vue 进度条组件!
最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手 ...
- 步骤进度条 css
用css写一个简单的步骤进度条 html代码: <h4>南京游玩</h4> <ul class="step-list"> <li> ...
- 详解Bootstrap进度条组件
在网页中,进度条的效果并不少见,如:平分系统.加载状态等,进度条组件使用了css3的transition和animation属性来完成一些特效,这些特效在IE9及IE9以下版本.Firefox的老版本 ...
- 【Android 应用开发】 自定义 圆形进度条 组件
转载著名出处 : http://blog.csdn.net/shulianghan/article/details/40351487 代码下载 : -- CSDN 下载地址 : http://down ...
- 数字进度条组件NumberProgressBar
数字进度条组件NumberProgressBar NumberProgressBar是一款数字进度条组件.它不仅可以通过进度条的变化展现进度,还可以通过跟随文字精确表示进度值.开发者可以对进度条进行 ...
- vue 的进度条组件
先看效果: 要想实现如上图的,进度跳效果,有两种方式,首先介绍第一种: 1.自己用 div 写一个,代码如下 <template> <div class="mfc-slid ...
- progressbar进度条组件
Progressbar 进度条组件 通过$.fn.progressbar.fn.defaults重写默认的defaults进度条(progressbar)提供了一种显示长时间操作进度的反馈.进度可被更 ...
- 【progress】 进度条组件说明
progress 进度条组件 原型: <progress percent="[Float(0-100)]" show-info="[Boolean]" b ...
- 第一百九十八节,jQuery EasyUI,ProgressBar(进度条)组件
jQuery EasyUI,ProgressBar(进度条)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 ProgressBar(进度条) ...
- Android学习笔记(24):进度条组件ProgressBar及其子类
ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...
随机推荐
- java基础知识回顾之java Thread类学习(二)--java多线程安全问题(锁)
上一节售票系统中我们发现,打印出了错票,0,-1,出现了多线程安全问题.我们分析为什么会发生多线程安全问题? 看下面线程的主要代码: @Override public void run() { // ...
- leetcode-Linux 简介
https://leetcode-cn.com/leetbook/read/awesome-linux-handbook/eg4ecm/ Linux 系统是一种金字塔模型的系统,如下所示 应用程序发起 ...
- Linux系统中的lsmod、lsof、lspci、lsscsi命令及实例
作为运维同学怎能不知道Linux系统中的lsmod.lsof.lspci.lsscsi命令呢,今天就来盘一盘她及实例. 1.lsmod命令 Linux lsmod命令用于显示已经加载到内核中的模块的状 ...
- 云辅助隐私集合求交(Server-Aided PSI)协议介绍:学习
原文来自:云辅助隐私集合求交(Server-Aided PSI)协议介绍,下面学习一波,并记录一些笔记. 背景 总结: 1.PSI-CA和PSI相比,前者在乎的是交集的大小,后者在乎的是交集本身.另外 ...
- Python 与 PostgreSQL 集成:深入 psycopg2 的应用与实践
title: Python 与 PostgreSQL 集成:深入 psycopg2 的应用与实践 date: 2025/2/4 updated: 2025/2/4 author: cmdragon e ...
- java中的文件流File
数据 + 流(转)操作 IO I表示的是:输入Input O表示的是:Output Stream表示流转 java中的管道不止一个.并且管道有可能不是一样的. 有的管道粗有的管道细 File的常用方法 ...
- Protobuf生成文件报错
Mac下protobuf生成文件报错问题解决办法,windows下就不会这么麻烦了,如果linux下出现类似报错信息按照下面的解决逻辑依然适用. 1.由--go_out引发的报错 1.报错信息: us ...
- Iceberg metrics导致的问题
一.问题描述 在iceberg rewrite时报错:org.apache.iceberg.exceptions.ValidationException: Cannot commit, found n ...
- Luogu P4933 大师 题解 [ 绿 ] [ 线性 dp ] [ dp 细节处理 ] [ 限制转移条件优化 ]
依据值域的 \(O(n^2)\) 做法 这种做法只适用于这种值域小的题,下一种做法才是求等差数列的通解. 我们定义 \(f[i][j]\) 表示以 \(h_i\) 为最后一个数,公差为 \(j\) 的 ...
- 用户信息授权报错“无效的AppID参数”问题排查解决过程
今天记一个支付宝报错"无效的AppID参数"的问题排查解决过程,希望可以帮到大家. 报错产生 今天在测试支付宝用户信息授权 换取授权访问令牌 的时候,遇到了一个报错:"无 ...