首页 > web前端 > css教程 > 正文

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

不言
发布: 2018-11-06 16:47:46
原创
2753人浏览过

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

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

360截图20181106163045556.jpg

我们将从一小段HTML开始:

<ol class="track-progress">
  <li>
    Site Information 
    </li>
  <li>
    Data Source  
    </li>
  <li>
    Final Details  
    </li>
    </ol>
登录后复制

现在,我们将重置有序列表样式并使列表元素显示在一行中。我们使用以下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;
  }
登录后复制

你会得到如下的效果:

立即学习前端免费学习笔记(深入)”;

360截图20181106163338931.jpg

让这个跟踪器占用所有可用的宽度。为了灵活起见,我们将向跟踪器<ol>标记添加HTML属性,以声明进程中的步骤数。这样我们可以通过更改属性值来添加一些默认宽度。

HTML:

<ol class="track-progress" data-steps="3">
  <li>
    Site Information  
    </li>
  <li>
    Data Source  
    </li>
  <li>
    Final Details  
   </li>
</ol>
登录后复制

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%; }
登录后复制

就变成了如下效果:

360截图20181106163553914.jpg

要删除这烦人的空白区域,我们必须删除<li>标签之间的空白区域。我们可以用HTML注释来做到这一点:

 <ol class="track-progress" data-steps="3">
   <li>
     Site Information   </li><!--
--><li>
     Data Source   </li><!--
--><li>
     Final Details   </li>
 </ol>
登录后复制

效果如下:

万物追踪
万物追踪

AI 追踪任何你关心的信息

万物追踪 44
查看详情 万物追踪

360截图20181106163742737.jpg

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

 <ol class="track-progress" data-steps="3">
   <li class="done">
     <span>Site Information</span>
   </li><!--
--><li class="done">
     <span>Data Source</span>
   </li><!--
--><li>
     <span>Final Details</span>
   </li>
 </ol>
登录后复制

我添加了一个完成的类来表示不同风格的进度。这是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;
  }
登录后复制

结果如下:

360截图20181106164019352.jpg

为了添加箭头,我们将使用: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;
  }
登录后复制

效果如下:

360截图20181106164256999.jpg

现在我们正确应用样式以使箭头颜色与上一步的状态匹配,并删除第一个元素中的箭头:

.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;
  }
登录后复制

效果如下:

360截图20181106164432893.jpg

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

<ol class="track-progress" data-steps="3">
   <li class="done">
     <span>Site Information</span>
     <i></i>
   </li><!--
--><li class="done">
     <span>Data Source</span>
   </li><!--
--><li>
     <span>Final Details</span>
     <i></i>
   </li>
 </ol>
登录后复制
.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;}
登录后复制

最终效果如下:

360截图20181106164558821.jpg

以上就是如何使用css实现进度跟踪条?(代码示例)的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号