欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

web前端vue之CSS过渡效果示例

程序员文章站 2022-04-10 10:55:12
过渡效果在交互体验中的重要性不言而喻。以往我们使用js或jquery添加或移除元素的类(class),搭配css中定义好的样式,再引用一些javascript库之后,可以做...

过渡效果在交互体验中的重要性不言而喻。以往我们使用js或jquery添加或移除元素的类(class),搭配css中定义好的样式,再引用一些javascript库之后,可以做作出非常复杂,惊艳的动态效果,不过这套方法还是太繁琐。

vue.js内置了一套过渡系统,可以在元素从dom中插入或移除时自动应用过渡效果。vue会在是党的时机触发css过渡或者动画,你也可以提供相应的javascript钩子函数在过渡过程中执行自定义的dom操作。

每个过渡效果,都需要在目标元素上使用transition特性。

<div v-if="show" transition="my-style">显示</div>

transition的特性可以与以下指令一起搭配使用:

1.v-if    2.v-show   3.v-for   4.动态组件 

还有其它的一些指令或资源,大家可以自行查找。

完整代码实例如下:

<div v-if="show" :transition="expand"></div>  // expand必需事先定义好,expand后面写样式要用(关键)
<transition name="expand"><div v-if="show">显示</div></transition>这样的嵌套也可以

.expand-transition { // 必需写
 transition: all .3s ease; 
 height: 30px; 
 padding: 10px;
 background-color: #eee;
 overflow: hidden;
}

.expand-enter{ //开始进入过渡,元素被插入生效
 transition:opacity .5s;
} 
.fade-leave-active { // 结束状态
 opacity:0;
} 

当然有开始肯定是有结束的状态,它其实是有四个(css类)名在enter/leave的状态中切换。

1.v-enter:定义进入过渡的开始状态,在元素被插入的时生效,在下一个帧移除

2.v-enter-active:定义进入过渡的结束状态,在元素被插入的时候生效,在transition/animation完成之后移除

3.v-leave:定义离开过渡的开始状态,在离开过渡被触发时生效,在下一帧移除

4.v-leave-active:定义离开过渡的开始状态,在离开过渡被触发时生效,在下一个帧移除

根据以上四个状态,就可以完整的写好一个css的一个过渡效果,比如页面从窗口左侧划入进场,这样是不是很酷啊?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。