【问题标题】:Vue Enter/Leave Transition doesn't seem to work well with OpacityVue Enter/Leave Transition 似乎不适用于 Opacity
【发布时间】:2020-06-28 18:01:44
【问题描述】:

Vue.js v2.2.1

JSFiddle:https://jsfiddle.net/loop_/59g7w1pa/8/

.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}
.fade-enter-to, .fade-leave {
  opacity: 0.5;
}

".fade-enter-to, .fade-leave" 应该设置转换后的状态,但没有按预期工作。

预期: 从“不透明度 0”到“不透明度 0.5”的平滑过渡

实际: 从“opacity 0”平滑过渡到“opacity 0.5”,然后突然跳转到“opacity 1”

【问题讨论】:

    标签: vue.js animation css-transitions


    【解决方案1】:

    Transition 类已被移除,并且该过渡没有适当的缓动,您应该在 .square 类中添加过渡属性。

    .fade-enter,
    .fade-leave-to {
    
      opacity: 0;
    
    }
    
    .fade-enter-to,
    .fade-leave {
    
      opacity: .5;
    
    }
    
    .square {
    
      margin-top: 2rem;
      height: 10rem;
      width: 10rem;
      background-color: #000;
      transition: opacity .5s linear;
    
    }
    

    【讨论】:

    • 虽然这可以解决突然的转换,但如果将其应用于 JSFiddle,最终状态为opacity: 1。但我需要的是最终状态为opacity: 0.5
    • @ZhihaoZhang 状态只是过渡期,之后应用到DOM元素的任何CSS类都会呈现。
    猜你喜欢
    • 2015-08-23
    • 2021-11-11
    • 2021-07-25
    • 1970-01-01
    • 2020-04-04
    • 2023-04-06
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多