时间:2021-07-01 10:21:17 帮助过:13人阅读
先点击此处查看效果。
其实现方法很简单,只需使用:before选择器在每一步对应li元素添加圆形步骤数字,使用:after选择器在其后面添加连接线。步骤进度条一般有三种状态:
本实例中我们简单将已经完成的状态和正在进行的状态设置成同样的样式:数字及连接线变绿,将对于未完成的状态数字及连接线变灰。当前步骤对应steps li.active,那么已经完成的步骤则对应steps li.active ~ li。此处用到CSS3中的~选择器来匹配当前 元素之后的所有li兄弟元素。如下面CSS代码:
.steps { position: relative; margin-bottom: 30px; counter-reset: step; /*创建步骤数字计数器*/}/*步骤描述*/.steps li { list-style-type: none; font-size: 12px; text-align: center; width: 25%; position: relative; float: left;}/*步骤数字*/.steps li:before { display: block; content: counter(step); /*设定计数器内容*/ counter-increment: step; /*计数器值递增*/ width: 32px; height: 32px; background-color: #019875; line-height: 32px; border-radius: 32px; font-size: 16px; color: #fff; text-align: center; font-weight: 700; margin: 0 auto 8px auto;}/*连接线*/.steps li ~ li:after { content: ''; width: 100%; height: 2px; background-color: #019875; position: absolute; left: -50%; top: 15px; z-index: -1; /*放置在数字后面*/}/*将当前/完成步骤之前的数字及连接线变绿*/.steps li.active:before,.steps li.active:after { background-color: #019875;}/*将当前/完成步骤之后的数字及连接线变灰*/.steps li.active ~ li:before,.steps li.active ~ li:after { background-color: #777;}
相应的HTML代码:
设置steps和active样式类就行了,是不是很简单?而且是适配移动设备的,很强大吧?