前言
这是来到新公司的第一篇博客,上周学习了一周React、Redux、TypeScript,这周可以干活了。今天看了设计稿,十分的好看,特别是那块步骤条。好看的同时呢,实现起来好像还是有些难度,花了一个多钟的时间把步骤条给写了出来,那么现在我来分享一下吧
先上效果图
让我们开始吧
html部分
这里的HTML部分十分的简单,但是我用的是React里边的TSX语法,这里放出来大家需要的话自行转化成HTML语法就好了
1 | render () { |
再放一个精简版本供大家复制粘贴吧
1 | <ul class="steps"> |
css部分
css代码有点长,我一步一步来解释
1 | .steps { |
首先先把ul和三个li排版好,让它浮动偏左,或者用Flex布局都可以,并设置好它的宽度。这里要注意的是css的counter-reset属性,对部分和子部分进行编号(比如 “Section 1”、”1.1”、”1.2”),这里我用它定义每个步骤的编号
1 | /*步骤数字*/ |
这里用了 :before,:after两个伪类分别定义步骤条里边的编号和它们的连接线。特别注意 content: counter(step); 和 counter-increment: step;,这里将父元素定义的编号在这里渲染出来。
1 |
|
最后设置 active属性,改变高亮前后的编号背景颜色以及连接线的背景颜色
The end.. 多谢大家的观看