为了账号安全,请及时绑定邮箱和手机立即绑定

VUE中的平移过渡如何实现?

VUE中的平移过渡如何实现?

德玛西亚99 2019-03-14 18:15:50
https://jsfiddle.net/7Lypucvo...请问用vue的<transition>可以实现底下的横杠平移过渡吗?我看了下官方文档,好像只能添加进入离开过渡?
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

可以的.
首先分析动画
动画有两个方向,向左向右.这个可以监视选中的index,通过比较新旧值来获得.
用transition组件实现的话,transition组件触发的前提是v-show,v-if导致了dom的显隐.那么我们就需要4个边框元素来切换显隐触发transition.
DEMO

不用transition组件也可以实现
我们可以用每个item的伪元素通过水平方向的缩放来显示过渡效果.用transform-origin来控制过渡的方向

控制缩放

.item {

  padding: 20px;

  background-color: #fff;

  position: relative;

  &:after {

    content: "";

    position: absolute;

    bottom: 0;

    left: 0;

    right: 0;

    height: 2px;

    background-color: #00f;

    transform: scaleX(0);

    transition: transform 0.3s;

  }

  &.active {

    &:after {

      transform: scaleX(1);

    }

  }

}

  .isLeft {

    .item {

      &:after {

        transform-origin: 0 100%;

      }

      &.active {

        &:after {

          transform-origin: 100% 0;

        }

      }

    }

  }


  .isRight {

    .item {

      &:after {

        transform-origin: 100% 0;

      }

      &.active {

        &:after {

          transform-origin: 0 100%;

        }

      }

    }

  }


查看完整回答
反对 回复 2019-04-10
  • 1 回答
  • 0 关注
  • 1267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号