中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

transition與animation如何在vue中使用

發布時間:2020-12-14 14:47:05 來源:億速云 閱讀:390 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關transition與animation如何在vue中使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

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

transition在w3school的實例:

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

//transition 屬性是一個簡寫屬性,用于設置四個過渡屬性:

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

animation在w3school的實例:

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

animation使用@keyframes規定動畫

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

以上是transition和animation的基礎知識,最項目使用vue這樣主流框架,就用vue使用下transition和animation

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

npm install animate.css –save

2.全局引用一下animation動畫庫

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

3.簡單使用一下animation動畫庫,只要在class加上規定的動畫效果名稱就可以

<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,把知識進階一下,使用transition標簽

1、使用基礎的transiton和animation動畫

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

2、使用trnasition標簽的屬性,結合animation的動畫庫

<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元素進入前
 animated就是使用animation動畫庫,fadeOut就是動畫效果
 */
 /*before-enter這些就是鉤子函數,是滑動進入狀態
 mode="out-in"是設定動畫是先入后出,還是先出后入
 appear 是設置加載時就要開始動畫
 */
// 進入中
//動畫進入前
// --------
beforeEnter: function (el) {
 //el就是dom元素
 // ...
},
// 此回調函數是可選項的設置
// 與 CSS 結合時使用
//動畫進入時
enter: function (el, done) {
 // ...
 done()
},
//動畫進入后
afterEnter: function (el) {
 // ...
},
//動畫進入完成
enterCancelled: function (el) {
 // ...
},
// --------
// 離開時
// --------
beforeLeave: function (el) {
 // ...
},
// 此回調函數是可選項的設置
// 與 CSS 結合時使用
leave: function (el, done) {
 // ...
 done()
},
afterLeave: function (el) {
 // ...
},
// leaveCancelled 只用于 v-show 中
leaveCancelled: function (el) {
 // ...
}

下面是animation常用的動畫效果

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

以上就是transition與animation如何在vue中使用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰来县| 岑巩县| 中阳县| 张掖市| 石嘴山市| 咸宁市| 潍坊市| 隆安县| 鄂温| 静安区| 博白县| 常德市| 黄梅县| 韶山市| 财经| 资溪县| 工布江达县| 新建县| 宣威市| 玉屏| 达拉特旗| 米脂县| 平湖市| 长寿区| 蓬溪县| 酒泉市| 林芝县| 陕西省| 易门县| 永福县| 永康市| 西青区| 库车县| 昌宁县| 来凤县| 瑞金市| 阿鲁科尔沁旗| 汝南县| 图们市| 嵊州市| 河西区|