表示进度的css代码,如何使用css实现进度跟踪条?(代码示例)

本篇文章给大家分享的内容是关于如何使用css实现进度跟踪条?(代码示例),有需要的朋友可以参考一下。

这是一个关于如何创建一个非常简单的UI小部件的小教程,以告诉用户他们在流程的哪个步骤。

838a2e303c62fad7de7130648067cd73.png

我们将从一小段HTML开始:

  1. Site Information

  2. Data Source

  3. Final Details

现在,我们将重置有序列表样式并使列表元素显示在一行中。我们使用以下CSS代码:.track-progress {

margin: 0;

padding: 0;

overflow: hidden;

}

.track-progress li {

list-style-type: none;

display: inline-block;

position: relative;

margin: 0;

padding: 0;

text-align: center;

line-height: 30px;

height: 30px;

background-color: #f0f0f0;

}

你会得到如下的效果:

f54dfce91a9de7289d21e580d71345f3.png

让这个跟踪器占用所有可用的宽度。为了灵活起见,我们将向跟踪器

  1. 标记添加HTML属性,以声明进程中的步骤数。这样我们可以通过更改属性值来添加一些默认宽度。

HTML:

  1. Site Information

  2. Data Source

  3. Final Details

CSS:.track-progress[data-steps="3"] li { width: 33%; }

.track-progress[data-steps="4"] li { width: 25%; }

.track-progress[data-steps="5"] li { width: 20%; }

就变成了如下效果:

f525f2e6d0134dd211d220cf8ce3fe79.png

要删除这烦人的空白区域,我们必须删除

标签之间的空白区域。我们可以用HTML注释来做到这一点:
  1. Site Information

  2. Data Source

  3. Final Details

效果如下:

3d3ee4ea20982549b86e91ea31033426.png

我想添加某种箭头来指示步骤序列中的实际方向,所以我需要额外的标记来将步骤内容与其他装饰材料隔离开来:

  1. Site Information

  2. Data Source

  3. Final Details

我添加了一个完成的类来表示不同风格的进度。这是CSS:.track-progress li > span {

display: block;

color: #999;

font-weight: bold;

text-transform: uppercase;

}

.track-progress li.done > span {

color: #666;

background-color: #ccc;

}

结果如下:

d663727e90a669da9f04e7482291015d.png

为了添加箭头,我们将使用:before和:after伪元素以及赋予边框巨大尺寸以创建角的技巧:.track-progress li > span:after,.track-progress li > span:before {

content: "";

display: block;

width: 0px;

height: 0px;

position: absolute;

top: 0;

left: 0;

border: solid transparent;

border-left-color: #f0f0f0;

border-width: 15px;

}

.track-progress li > span:after {

top: -5px;

z-index: 1;

border-left-color: white;

border-width: 20px;

}

.track-progress li > span:before {

z-index: 2;

}

效果如下:

049dc55f5afdd2112a53662f2eb41191.png

现在我们正确应用样式以使箭头颜色与上一步的状态匹配,并删除第一个元素中的箭头:.track-progress li.done + li > span:before {

border-left-color: #ccc;

}

.track-progress li:first-child > span:after,.track-progress li:first-child > span:before {

display: none;

}

效果如下:

eb25073e9f45be4dc0f8df3401022c58.png

现在我们要在跟踪器的开头和结尾添加箭头外观,以便我们添加更多标记:

  1. Site Information

  2. Data Source

  3. Final Details

.track-progress li:first-child i,.track-progress li:last-child i {

display: block;

height: 0;

width: 0;

position: absolute;

top: 0;

left: 0;

border: solid transparent;

border-left-color: white;

border-width: 15px;}.track-progress li:last-child i {

left: auto;

right: -15px;

border-left-color: transparent;

border-top-color: white;

border-bottom-color: white;}

最终效果如下:

29d9f3bc81de28a25f47c7fa8f7980ad.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值