欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

用CSS实现带箭头的流程进度条

程序员文章站 2022-03-04 11:33:38
...
本文介绍的是利用纯CSS的带箭头流程进度条,兼容到IE8,需要的朋友们下面来一起学习学习。

首先写出一个基本的样式。

用CSS实现带箭头的流程进度条

.cssNav li{  
    padding: 0px 20px;   
    line-height: 40px;  
    background: #50abe4;  
    display: inline-block;   
    color: #fff;  
    position: relative;  
}

接下来使用 :after 伪类画出一个三角形,定位到右边,如下:

用CSS实现带箭头的流程进度条

.cssNav li:after{  
    content: '';  
    display: block;  
    border-top: 20px solid red;  
    border-bottom: 20px solid red;  
    border-left: 20px solid blue;  
    position: absolute;   
    rightright: -20px;   
    top: 0;  
}

然后将after的颜色修改下,基本的雏形已经看到了。

用CSS实现带箭头的流程进度条

.cssNav li:after{  
    content: '';  
    display: block;  
    border-top: 20px solid transparent;  
    border-bottom: 20px solid transparent;  
    border-left: 20px solid #50abe4;  
    position: absolute;   
    rightright: -20px;   
    top: 0;  
    z-index: 10;  
}

继续使用 :before 伪类来画出左边的三角形。如下:

用CSS实现带箭头的流程进度条

.cssNav li:before{  
    content: '';  
    display: block;  
    border-top: 20px solid red;  
    border-bottom: 20px solid red;  
    border-left: 20px solid blue;  
    position: absolute;   
    left: 0px;   
    top: 0;  
}

然后修改下before的颜色,并复制多个模块看看。

用CSS实现带箭头的流程进度条

最后把开头和结尾的稍微修饰一下。

用CSS实现带箭头的流程进度条

.cssNav li:first-child{    
    border-radius: 4px 0 0 4px;    
    padding-left: 25px;  
}    
.cssNav li:last-child,.cssNavEnd{    
    border-radius: 0px 4px 4px 0px;    
    padding-right: 25px;  
}    
.cssNav li:first-child:before{    
    display: none;    
}    
.cssNav li:last-child:after,.cssNavEnd:after{    
    display: none;    
}

加上选中状态,大功告成。

用CSS实现带箭头的流程进度条

.cssNav li.active {  
    background-color: #ef72b6;  
}  
.cssNav li.active:after {  
    border-left-color: #ef72b6;  
}


更多用CSS实现带箭头的流程进度条相关文章请关注PHP中文网!