Vuejs 过渡动画休假不工作
Vuejs transition animation not working on leave
我正在使用 Vuejs 沿着 CSS 添加转换的路线。我现在正在构建一个基本的移动导航。到目前为止,这是我的代码:
http://jsfiddle.net/67dcnd7a/1/
我的HTML:
<nav>
<div id="nav-btn" v-on="click: isVisible = !isVisible">
NAVIGATION
<span class="pull-right"><i class="fa fa-bars"></i></span>
</div>
<ul v-show="isVisible" v-transition="slide">
<li><a href="#" title="Home">Home</a></li>
<li><a href="#" title="Explore">Explore</a>
<ul>
<li><a href="#" title="Adventure">Adventure</a></li>
<li><a href="#" title="Main Region">Main Region</a></li>
<li><a href="#" title="The Exchange">The Exchange</a></li>
</ul>
</li>
</ul>
<pre>
{{ $data | json }}
</pre>
</nav>
我的转换CSS(其余的可以在fiddle中看到默认样式):
.slide-transition {
transition: all .5s ease-in-out;
height: auto;
overflow-y: hidden;
}
.slide-enter, .slide-leave {
transition: all .5s ease-in-out;
height: 0;
opacity: 0;
}
然后我的 Javascript 和我的 Vue 实例:
var $j = jQuery.noConflict();
// Navigation instance
new Vue({
el: 'nav',
data: {
isVisible: false
},
methods: {
}
});
滑下来还好,但是滑上去,晃的特别快。它做起来并不顺利。当我取消不透明度时,它看起来更糟。休假 CSS 规则似乎不适用,但它们适用于进入。
我宁愿不使用不透明度,因为它看起来更像是褪色。我想要的是让它向下滑动然后向上滑动,没有任何淡入淡出效果。我在这里关注他们的文档:
http://vuejs.org/guide/transitions.html
但我无法完全理解他们在第一个示例中的效果。
感谢您的帮助。
由于浏览器实现问题,很难制作往返 height: auto
的动画。如果您改用“5em”之类的实际高度度量标准,效果会更好。我更新了你的 fiddle:
我正在使用 Vuejs 沿着 CSS 添加转换的路线。我现在正在构建一个基本的移动导航。到目前为止,这是我的代码:
http://jsfiddle.net/67dcnd7a/1/
我的HTML:
<nav>
<div id="nav-btn" v-on="click: isVisible = !isVisible">
NAVIGATION
<span class="pull-right"><i class="fa fa-bars"></i></span>
</div>
<ul v-show="isVisible" v-transition="slide">
<li><a href="#" title="Home">Home</a></li>
<li><a href="#" title="Explore">Explore</a>
<ul>
<li><a href="#" title="Adventure">Adventure</a></li>
<li><a href="#" title="Main Region">Main Region</a></li>
<li><a href="#" title="The Exchange">The Exchange</a></li>
</ul>
</li>
</ul>
<pre>
{{ $data | json }}
</pre>
</nav>
我的转换CSS(其余的可以在fiddle中看到默认样式):
.slide-transition {
transition: all .5s ease-in-out;
height: auto;
overflow-y: hidden;
}
.slide-enter, .slide-leave {
transition: all .5s ease-in-out;
height: 0;
opacity: 0;
}
然后我的 Javascript 和我的 Vue 实例:
var $j = jQuery.noConflict();
// Navigation instance
new Vue({
el: 'nav',
data: {
isVisible: false
},
methods: {
}
});
滑下来还好,但是滑上去,晃的特别快。它做起来并不顺利。当我取消不透明度时,它看起来更糟。休假 CSS 规则似乎不适用,但它们适用于进入。
我宁愿不使用不透明度,因为它看起来更像是褪色。我想要的是让它向下滑动然后向上滑动,没有任何淡入淡出效果。我在这里关注他们的文档:
http://vuejs.org/guide/transitions.html
但我无法完全理解他们在第一个示例中的效果。
感谢您的帮助。
由于浏览器实现问题,很难制作往返 height: auto
的动画。如果您改用“5em”之类的实际高度度量标准,效果会更好。我更新了你的 fiddle: