vue步骤条

<template>
  <div class="editInform">
    <div class="testNav">
      <div class="flow-item flow-item-3" @click="toTab(1)">
        <div class="firstStep" :class="{'active': tab === 1}">
          ①编辑基本信息
        </div>
      </div>
      <div class="flow-item flow-item-3" @click="toTab(2)">
        <div :class="{'active': tab === 2}">
          ②编辑商品详情
        </div>
      </div>
      <div class="flow-item flow-item-3" @click="toTab(3)">
        <div class="lastStep" :class="{'active': tab === 3}">
          ③设置店铺
        </div>
      </div>
    </div>
    <div class="container">
        <div v-if="tab === 1" @nextStep="nextStep">111111111111111111111</div>
        <div v-if="tab === 2" @goBackLastStep="goBackLastStep">22222222222222</div>
        <div v-if="tab === 3" @goBackLastStep="goBackLastStep">3333333333333333</div>
    </div>
  </div>
</template>
<script>
  export default {
    name: 'editInform',
    data() {
      return {
        tab: 1
      }
    },
    methods: {
      nextStep() {
        this.toTab(2)
      },
      goBackLastStep() {
        this.tab = 1
      },
      toTab(index) {
        this.tab = index;
      },
    }
  }
</script>

<style scoped>
  .testNav{
    overflow: hidden;
  }
  .flow-item {
    float: left;
    width: 30.66667%;
    max-width: 380px;
    text-align: center;
    margin-bottom: 9px;
    padding-right: 6px;
  }
  .flow-item > div {
    position: relative;
    padding: 5px 0 5px 8px;
    line-height: 20px;
    background: #E8EBEF;
    white-space: nowrap;
    overflow: visible;
    color: #3c4353;

  }
  .flow-item > div:before, .flow-item > div:after {
    content: ' ';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 10px;
    border-color: transparent transparent transparent #E8EBEF;
    position: absolute;
    left: 0;
    top: 0;
  }
  .flow-item > div:after {
    left: auto;
    right: -10px;
    z-index: 2;
  }
  .flow-item-3 > div {
    background: #F9FAFC;
  }
  .flow-item-3 > div:before {
    border-left-color: #fff;
    z-index: 1;
  }
  .flow-item-3 > div:after {
    border-left-color: #F9FAFC;
  }
  .flow-item-3 > div:hover {
    background: #00A4FF;
    color: #fff;
    cursor: pointer;
  }
  .flow-item-3 > div:hover:after {
    border-left-color: #00A4FF;
  }
  .flow-item > div.firstStep:before{
    content: ' ';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0;
    border-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
  }
  .flow-item > div.lastStep:after{
    content: ' ';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0;
    border-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
  }
</style>


实现Vue步骤线动画效果,可以通过使用CSS动画以及Vue 3的过渡效果来实现。首先,使用CSS动画来控制线段的运动效果。可以通过设置关键帧和过渡效果,例如@keyframes和transition属性,来控制线段的位置和样式的变化。这样可以实现线的平滑移动和渐变效果。 接下来,可以结合Vue 3的过渡效果来实现平滑的动画过渡效果。Vue 3提供了过渡组件和过渡类名,可以在组件进入和离开时添加类名,从而触发过渡效果。可以使用Vue 3的<transition>组件来包裹线段元素,并设置进入和离开时的过渡类名,从而实现线段的动态变化效果。 要实现带箭头的线段运动动画,可以使用Vue 3中提供的canvas和requestAnimationFrame来实现。具体步骤如下: 1. 在Vue组件中,创建一个canvas元素,并设置其宽度和高度。 2. 在canvas中绘制线段,并设置线段的起点和终点。 3. 使用requestAnimationFrame方法创建一个循环,在每一帧中更新线段的位置和样式。 4. 根据需要,可以添加箭头效果,例如在线段末端绘制一个三角形箭头。 通过以上步骤,就可以实现Vue步骤线动画效果。可以根据具体的需求和设计来设置线段的样式、动画效果以及箭头效果。同时,可以参考Vue 3的过渡和动画指南以获取更多关于过渡效果的使用方法和技巧。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值