仿淘宝下一步操作步骤条

完成后的效果
  • 首先是画一个矩形, 再通过 伪 after 和 before 给两边画上三角形拼接上就 好啦, 话不多说, 直接贴代码!
<template>
  <div class="family-info-edit-reconsitution">
    <div class="household-details-form">
      <ul class="form-progress-ul">
        <template v-for="item in 8">
          <li :key="item" :class="['form-progress-li', activeForm == item ? 'form-progress-li-active' : '']" @click="handelCurrentForm(item)">
            <span>步骤{{item}}</span>
          </li>
        </template>
      </ul>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      activeForm: ''
    };
  },
  methods: {
    handelCurrentForm(val) {
      this.activeForm = val;
    }
  }
};
</script>
<style lang="less" scoped>
.family-info-edit-reconsitution{
  min-width: 1100px;
  .household-details-form{
    .form-progress-ul{
      .form-progress-li{
        cursor: pointer;
        width: 120px;
        line-height: 50px;
        background: #b5b5b5;
        display: inline-block;
        color:#fff;
        position: relative;
        margin-right: 10px;
        text-align: center;
        border-radius: 2px;
      }
      .form-progress-li:after{
        content: '';
        display: block;
        border-top: 25px solid transparent;
        border-bottom: 25px solid transparent;
        border-left: 20px solid #b5b5b5;
        position: absolute;
        right: -19px;
        top: 0;
        Z-index: 10;
      }
      .form-progress-li:before{
        content: '';
        display: block;
        border-top: 25px solid #b5b5b5;
        border-bottom: 25px solid #b5b5b5;
        border-left: 20px solid #ffffff;
        position: absolute;
        left: 0px;
        top: 0;
      }
      // 隐藏第一个元素的 before 样式
      .form-progress-li:first-child:before{
        display: none;
      }
      .form-progress-li{
        span{
          margin-left: 20px;
        }
      }
      .form-progress-li:first-child{
        span{
          margin-left: 0;
        }
      }
      // 选中颜色
      .form-progress-li-active{
        background-color: #29d095;
      }
      .form-progress-li-active:after{
        border-left-color: #29d095;
      }
      .form-progress-li-active:before{
        border-left-color: #ffffff;
        border-top: 25px solid #29d095;
        border-bottom: 25px solid #29d095;
      }
    }
  }
}
</style>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文主要讲述页面布局样式方面涉及的知识点,更全面的对CSS相应的技术进行归类、整理、说明,没有特别详细的技术要点说...
    Joel_zh阅读 920评论 0 1
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,179评论 2 19
  • 通过伪类元素::after,::before实现圆角、变换、旋转、渐变实现镂空三角形,再通过改变宽度填充镂空部分,...
    susnsandy阅读 5,218评论 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,712评论 1 45
  • 前端经典面试题: 1、(前端面试题)https://zhuanlan.zhihu.com/p/84212558?f...
    who_are_you_阅读 372评论 0 2