欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解vue中使用transition和animation的實(shí)例代碼

 更新時(shí)間:2020年12月12日 09:25:14   作者:一生無過  
這篇文章主要介紹了詳解vue中使用transition和animation的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

以前寫頁面注重在功能上,對(duì)于transition和animation是只聞其聲,不見其人,對(duì)于頁面動(dòng)畫效果心理一直癢癢的。最近做活動(dòng)頁面,要求頁面比較酷炫,終于有機(jī)會(huì)認(rèn)真了解了。

transition:英文過渡的意思,作用是過渡效果;animation:英文活潑、生氣、激勵(lì),動(dòng)畫片就是animation film,作用是動(dòng)畫效果。

transition在w3school的實(shí)例:

//將鼠標(biāo)懸停在一個(gè) div 元素上,逐步改變表格的寬度從 100px 到 300px:
div
{
 width:100px;
 transition: width 2s;
 -webkit-transition: width 2s; /* Safari */
}
div:hover {width:300px;}

//transition 屬性是一個(gè)簡(jiǎn)寫屬性,用于設(shè)置四個(gè)過渡屬性:

//指定CSS屬性的name,transition效果
transition-property
//transition效果需要指定多少秒或毫秒才能完成
transition-duration
//指定transition效果的轉(zhuǎn)速曲線
transition-timing-function
//定義transition效果開始的時(shí)候
transition-delay

animation在w3school的實(shí)例:

//使用簡(jiǎn)寫屬性,將動(dòng)畫與 div 元素綁定
div
{
animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /* Safari 和 Chrome */
}
//animation 屬性是一個(gè)簡(jiǎn)寫屬性,用于設(shè)置六個(gè)動(dòng)畫屬性:
//規(guī)定需要綁定到選擇器的 keyframe 名稱。。
animation-name
//規(guī)定完成動(dòng)畫所花費(fèi)的時(shí)間,以秒或毫秒計(jì)。
animation-duration
//規(guī)定動(dòng)畫的速度曲線。
animation-timing-function
//規(guī)定在動(dòng)畫開始之前的延遲。
animation-delay
//規(guī)定動(dòng)畫應(yīng)該播放的次數(shù)。
animation-iteration-count
//規(guī)定是否應(yīng)該輪流反向播放動(dòng)畫。
animation-direction

animation使用@keyframes規(guī)定動(dòng)畫

@keyframes animationname {
 keyframes-selector {
  css-styles;
 }
}
//必需。定義動(dòng)畫的名稱。
animationname
//必需。動(dòng)畫時(shí)長(zhǎng)的百分比。
//合法的值:
//0-100%
//from(與 0% 相同)
//to(與 100% 相同)
keyframes-selector
//必需。一個(gè)或多個(gè)合法的 CSS 樣式屬性。
css-styles

以上是transition和animation的基礎(chǔ)知識(shí),最項(xiàng)目使用vue這樣主流框架,就用vue使用下transition和animation

1.第一步就是要安裝依賴,只安裝animation動(dòng)畫庫,transiton是直接可以使用的標(biāo)簽,不用去下載依賴

npm install animate.css –save

2.全局引用一下animation動(dòng)畫庫

import animate from 'animate.css'
Vue.use(animate); 

3.簡(jiǎn)單使用一下animation動(dòng)畫庫,只要在class加上規(guī)定的動(dòng)畫效果名稱就可以

<div class="rotateIn"
  style="animation-duration:2s;
   animation-delay:1s;
   animation-iteration-count:1;
   animation-fill-mode:both;">
</div>
<div class="fadeInLeft"
  style="opacity:0;
   animation-duration:3s;
   animation-delay:2s;
   animation-iteration-count:1;
   animation-fill-mode:both;">
</div>
<div class="fadeInUp"
  style="opacity:0;
   animation-duration:3s;
   animation-delay:3s;
   animation-iteration-count:1;
   animation-fill-mode:both;">
</div>

4.正式使用transiton和animation,把知識(shí)進(jìn)階一下,使用transition標(biāo)簽

1、使用基礎(chǔ)的transiton和animation動(dòng)畫

/*v是默認(rèn)的,在transition中定義name屬性
 <transition name=fade>
 v-enter-from就要改成fade-enter-from
*/
<transition>
 <div>hello world</div>
 </transition>
 //使用transition標(biāo)簽時(shí),直接在css中控制
 /*元素進(jìn)入前效果*/
 .v-enter-from{
 opacity: 0;
 }
 /*元素進(jìn)入時(shí)效果*/
 .v-enter-active{
 /*使用定義的動(dòng)畫*/
  animation: shake 0.3s;
 }
/*元素進(jìn)入后效果*/
.v-enter-to{
  opacity: 1;
 }
/*元素離開前效果*/
 .v-leave-from{
  opacity: 1;
 }
/*元素離開時(shí)效果*/
 .v-leave-active{
/*使用定義的動(dòng)畫*/
  animation: shake 0.3s;
 }
 /*元素離開后效果*/
 .v-leave-to{
  opacity: 0;
 }
 /*定義一個(gè)動(dòng)畫效果*/
 @keyframes shake {
  0%{
   transform: translateX(-100px);
 }
  50%{
  transform: translateX(-50px);
 }
 0%{
   transform: translateX(50px);
 }
 }

2、使用trnasition標(biāo)簽的屬性,結(jié)合animation的動(dòng)畫庫

<transition
 transition :duration="{enter:1500,leave:600}"
 enter-from-class="animated"
 enter-active-class="animated"
 enter-to-class="animated"
 leave-from-class="animated fadeOut"
 leave-active-class="animated fadeOut"
 leave-to-class="animated fadeOut"
 v-on:before-enter="beforeEnter"
  v-on:enter="enter"
  v-on:after-enter="afterEnter"
  v-on:enter-cancelled="enterCancelled"
  v-on:before-leave="beforeLeave"
  v-on:leave="leave"
  v-on:after-leave="afterLeave"
  v-on:leave-cancelled="leaveCancelled"
 mode="out-in" appear
>
/*enter-from-class就是v-enter-from元素進(jìn)入前
 animated就是使用animation動(dòng)畫庫,fadeOut就是動(dòng)畫效果
 */
 /*before-enter這些就是鉤子函數(shù),是滑動(dòng)進(jìn)入狀態(tài)
 mode="out-in"是設(shè)定動(dòng)畫是先入后出,還是先出后入
 appear 是設(shè)置加載時(shí)就要開始動(dòng)畫
 */
// 進(jìn)入中
//動(dòng)畫進(jìn)入前
// --------
beforeEnter: function (el) {
 //el就是dom元素
 // ...
},
// 此回調(diào)函數(shù)是可選項(xiàng)的設(shè)置
// 與 CSS 結(jié)合時(shí)使用
//動(dòng)畫進(jìn)入時(shí)
enter: function (el, done) {
 // ...
 done()
},
//動(dòng)畫進(jìn)入后
afterEnter: function (el) {
 // ...
},
//動(dòng)畫進(jìn)入完成
enterCancelled: function (el) {
 // ...
},
// --------
// 離開時(shí)
// --------
beforeLeave: function (el) {
 // ...
},
// 此回調(diào)函數(shù)是可選項(xiàng)的設(shè)置
// 與 CSS 結(jié)合時(shí)使用
leave: function (el, done) {
 // ...
 done()
},
afterLeave: function (el) {
 // ...
},
// leaveCancelled 只用于 v-show 中
leaveCancelled: function (el) {
 // ...
}

下面是animation常用的動(dòng)畫效果

fade: {
 title: '淡入淡出',
 fadeIn: '淡入',
 fadeInDown: '向下淡入',
 fadeInDownBig: '向下快速淡入',
 fadeInLeft: '向右淡入',
 fadeInLeftBig: '向右快速淡入',
 fadeInRight: '向左淡入',
 fadeInRightBig: '向左快速淡入',
 fadeInUp: '向上淡入',
 fadeInUpBig: '向上快速淡入',
 fadeOut: '淡出',
 fadeOutDown: '向下淡出',
 fadeOutDownBig: '向下快速淡出',
 fadeOutLeft: '向左淡出',
 fadeOutLeftBig: '向左快速淡出',
 adeOutRight: '向右淡出',
 fadeOutRightBig: '向右快速淡出',
 fadeOutUp: '向上淡出',
 fadeOutUpBig: '向上快速淡出'
},
bounce: {
 title: '彈跳類',
 bounceIn: '彈跳進(jìn)入',
 bounceInDown: '向下彈跳進(jìn)入',
 bounceInLeft: '向右彈跳進(jìn)入',
 bounceInRight: '向左彈跳進(jìn)入',
 bounceInUp: '向上彈跳進(jìn)入',
 bounceOut: '彈跳退出',
 bounceOutDown: '向下彈跳退出',
 bounceOutLeft: '向左彈跳退出',
 bounceOutRight: '向右彈跳退出',
 bounceOutUp: '向上彈跳退出'
},
zoom: {
 title: '縮放類',
 zoomIn: '放大進(jìn)入',
 zoomInDown: '向下放大進(jìn)入',
 zoomInLeft: '向右放大進(jìn)入',
 zoomInRight: '向左放大進(jìn)入',
 zoomInUp: '向上放大進(jìn)入',
 zoomOut: '縮小退出',
 zoomOutDown: '向下縮小退出',
 zoomOutLeft: '向左縮小退出',
 zoomOutRight: '向右縮小退出',
 zoomOutUp: '向上縮小退出'
},
rotate: {
 title: '旋轉(zhuǎn)類',
 rotateIn: '順時(shí)針旋轉(zhuǎn)進(jìn)入',
 rotateInDownLeft: '從左往下旋入',
 rotateInDownRight: '從右往下旋入',
 rotateInUpLeft: '從左往上旋入',
 rotateInUpRight: '從右往上旋入',
 rotateOut: '順時(shí)針旋轉(zhuǎn)退出',
 rotateOutDownLeft: '向左下旋出',
 rotateOutDownRight: '向右下旋出',
 rotateOutUpLeft: '向左上旋出',
 rotateOutUpRight: '向右上旋出'
},
flip: {
 title: '翻轉(zhuǎn)類',
 flipInX: '水平翻轉(zhuǎn)進(jìn)入',
 flipInY: '垂直翻轉(zhuǎn)進(jìn)入',
 flipOutX: '水平翻轉(zhuǎn)退出',
 flipOutY: '垂直翻轉(zhuǎn)退出'
},
strong: {
 title: '強(qiáng)調(diào)類',
 bounce: '彈跳',
 flash: '閃爍',
 pulse: '脈沖',
 rubberBand: '橡皮筋',
 shake: '左右弱晃動(dòng)',
 swing: '上下擺動(dòng)',
 tada: '縮放擺動(dòng)',
 wobble: '左右強(qiáng)晃動(dòng)',
 jello: '拉伸抖動(dòng)'
}

結(jié)尾,學(xué)習(xí)用些transition和animation肯定能增加用戶體驗(yàn)感,做出一些高大上的網(wǎng)頁。

到此這篇關(guān)于詳解vue中使用transition和animation的實(shí)例代碼的文章就介紹到這了,更多相關(guān)vue使用transition和animation內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 前端利用vue實(shí)現(xiàn)導(dǎo)入和導(dǎo)出功能詳細(xì)代碼

    前端利用vue實(shí)現(xiàn)導(dǎo)入和導(dǎo)出功能詳細(xì)代碼

    最近項(xiàng)目中讓實(shí)現(xiàn)一個(gè)導(dǎo)入導(dǎo)出Excel的功能,下面這篇文章主要給大家介紹了關(guān)于前端利用vue實(shí)現(xiàn)導(dǎo)入和導(dǎo)出功能的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Vue組件設(shè)計(jì)之多列表拖拽交換排序功能實(shí)現(xiàn)

    Vue組件設(shè)計(jì)之多列表拖拽交換排序功能實(shí)現(xiàn)

    這篇文章主要介紹了Vue組件設(shè)計(jì)之多列表拖拽交換排序,常見的場(chǎng)景有單列表拖拽排序,多列表拖拽交換排序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • 基于element-ui封裝可搜索的懶加載tree組件的實(shí)現(xiàn)

    基于element-ui封裝可搜索的懶加載tree組件的實(shí)現(xiàn)

    這篇文章主要介紹了基于element-ui封裝可搜索的懶加載tree組件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • javascript中Set、Map、WeakSet、WeakMap區(qū)別

    javascript中Set、Map、WeakSet、WeakMap區(qū)別

    這篇文章主要介紹了javascript中Set、Map、WeakSet、WeakMap區(qū)別,需要的朋友可以參考下
    2022-12-12
  • VUE3.2項(xiàng)目使用Echarts5.4詳細(xì)步驟總結(jié)

    VUE3.2項(xiàng)目使用Echarts5.4詳細(xì)步驟總結(jié)

    Vue3.2是一款非常流行的JavaScript框架,它讓在前端領(lǐng)域開發(fā)變得更加的便捷,下面這篇文章主要給大家介紹了關(guān)于VUE3.2項(xiàng)目使用Echarts5.4的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • vue-resource 攔截器(interceptor)的使用詳解

    vue-resource 攔截器(interceptor)的使用詳解

    本篇文章主要介紹了vue-resource 攔截器(interceptor)的使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue3?父控件遠(yuǎn)程獲取數(shù)據(jù)在子組件上顯示不出來的解決方案

    vue3?父控件遠(yuǎn)程獲取數(shù)據(jù)在子組件上顯示不出來的解決方案

    這篇文章主要介紹了vue3?父控件遠(yuǎn)程獲取數(shù)據(jù),在子組件上顯示不出來,本文給大家分享兩種解決方案幫助大家解決這個(gè)問題,需要的朋友可以參考下
    2023-08-08
  • Vue路由模塊化配置的完整步驟

    Vue路由模塊化配置的完整步驟

    這篇文章主要給大家介紹了關(guān)于Vue路由模塊化配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue如何在style標(biāo)簽中使用變量(數(shù)據(jù))詳解

    vue如何在style標(biāo)簽中使用變量(數(shù)據(jù))詳解

    在我們編寫css樣式中是不能直接使用vue data中的變量的,下面這篇文章主要給大家介紹了關(guān)于vue如何在style標(biāo)簽中使用變量(數(shù)據(jù))的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Vue圖片放大鏡組件的封裝使用詳解

    Vue圖片放大鏡組件的封裝使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue圖片放大鏡組件的封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評(píng)論