一、vue动画实现原理:
  动画的实现,必须通过元素的显示隐藏或销毁创建。v-show  v-if
  vue中如果需要使用动画的时候,需要使用一个内置组件transition组件 该组件有一个name属性 值为动画的类名(类名随意起)
  
  实现动画有很多方式,例如:
    可以配合使用第三方 CSS 动画库,如 Animate.css

     在过渡钩子函数中使用 JavaScript 直接操作 DOM

     可以配合使用第三方 JavaScript 动画库,如 Velocity.js

  我们今天不说利用第三方动画库,自己手动利用css3 实现简单动画功能

二、动画的类名

  动画的类名分为6个

  入场动画

    <name>-enter          入场前

    <name>-enter-active    入场持续的过程

    <name>-enter-to    入场后

  出场动画

    <name>-leave      出场前
    <name>-leave-active   出场持续的过程
    <name>-leave-to      出场后
三、demo
  html和技术部分代码:通过点击按钮让盒子进行显示隐藏(v-if和v-show都可以)

通过css代码,实现具体的动画效果,本案例实现的是对盒子进行放大的动画。

  用animation做动画时,把效果给<name>-enter-active   <name>-leave-active

  或name>-enter-to<name>-leave-to都可以

四、css3 

CSS3属性中有关于制作动画的三个属性: Transition(过渡),Transform(转换),Animation(动画)
  1、transtion:
    transition-property 需要过渡的样式 (all || [attr] || none)默认是 all
    transition-duration 运动时间 默认是 0 s
    transition-delay 延迟时间 默认是 0
    transition: (过渡样式、运动时间、延迟时间)

    transition-timing-function 运动形式 默认是 ease
      ease:(慢速开始,然后变快,然后慢速结束) linear:(匀速) ease-in:(加速)
      ease-out:(减速)
      ease-in-out:(先加速后减速)
      cubic-bezier 贝塞尔曲线( x1, y1, x2, y2 )
      steps 实现一个关键逐帧动画画的功能
  2、animation: 定义动画之前先定义关键帧keyframes

  

  animation和transition的区别?
  相同点:都是随着时间改变元素的属性值。
  不同点:
    transition需要触发一个事件(hover事件或click事件等)才会随时间改变其css属性;
    而animation在不需要触发任何事件的情况下也可以显式的随着时间变化来改变元素css的属性值,从而达到一种动画的效果。

  3、transform:
                    向元素应用2D或3D转换。对元素进行旋转、缩放、移动或倾斜
    1、translate ()根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。类似于定位中的left值(X轴)、top值(Y轴) 
            使用translate()函数,你可以把元素从原来的位置移动,而不影响在X、Y轴上任何组件。
            translate (0,500px)
    2、rotate() 在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。rotate(360deg )
    3、 scale()该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:
            缩放scale()函数让元素根据中心原点对对象进行缩放。默认的值1。因此0.01到0.99之间的任何值,使一个元素缩小;而任何大于或等于1.01的值,让元素显得更大。
  常用的transform的属性就是这些。
 
 

vue实现动画和css3动画属性的更多相关文章

  1. 使用jquery封装的动画脚本(无动画、css3动画、js动画)

    自己封装好的showhide.js 包含无动画.css3动画.js动画 包括:fade(淡入淡出)  slideUpDown(上下滑动)  slideLeftRight(左右滑动)  fadeSlid ...

  2. 关于JS动画和CSS3动画的性能差异

    本文章为综合其它资料所得. 根据Google Developer,Chromium项目里,渲染线程分为main thread和compositor thread. 如果CSS动画只是改变transfo ...

  3. JS动画与CSS3动画

    Js动画 show / hide var div = $('#test-show-hide'); div.show('slow'); // 在0.6秒钟内逐渐显示 div.hide(3000); // ...

  4. js动画和css3动画的区别

    JS动画(逐帧动画) 首先,在js动画是逐帧动画,是在时间帧上逐帧绘制帧内容,由于是一帧一帧的话,所以他的可操作性很高,几乎可以完成任何你想要的动画形式.但是由于逐帧动画的帧序列内容不一样,会增加制作 ...

  5. 高性能 CSS3 动画

    注:本文出自腾讯AlloyTeam的元彦,文章也可以在github上浏览.请尊重版权,转载请注明来源,多谢-- 高性能移动Web相较PC的场景需要考虑的因素也相对更多更复杂,我们总结为以下几点: 流量 ...

  6. CSS3 动画一瞥

    伴随HTML5而来的CSS3让前端大湿们可以用简单的CSS样式即可写出动画效果来,而在这之前,一提到动画我们可能会想到JavaScript,Flash,Java插件等.如果是用JavaScript那倒 ...

  7. CSS3动画(性能篇)

    写在前面 高性能移动Web相较PC的场景需要考虑的因素也相对更多更复杂,我们总结为以下几点: 流量.功耗与流畅度. 在PC时代我们更多的是考虑体验上的流畅度,而在Mobile端本身丰富的场景下,需要额 ...

  8. CSS3 动画animation

    关键帧 什么是关键帧.一如上面对Flash原理的描述一样,我们知道动画其实由许多静态画面组成,第一个这样的静态画面可以表述为一帧.其中关键帧是在动画过程中体现了物理明显变化的那些帧. 比如之前的例子中 ...

  9. css3动画animate

    CSS3 动画 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. @keyframes 定义动画关键帧: @keyframes anima ...

随机推荐

  1. BZOJ 4245: [ONTAK2015]OR-XOR 贪心 + 位运算

    Description 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or ...

  2. 7.28Assignment

    1.考试题(7.27) + 2.插头dp 4道题 0/4  before 18:00 3.cdq分治 2道题理解 0/2  before 21:00 4.点分治 2道题 0/2 before 7:00 ...

  3. 计蒜客 A1607 UVALive 8512 [ACM-ICPC 2017 Asia Xi'an]XOR

    ICPC官网题面假的,要下载PDF,点了提交还找不到结果在哪看(我没找到),用VJ交还直接return 0;也能AC 计蒜客题面 这个好 Time limit 3000 ms OS Linux 题目来 ...

  4. Scrapy终端(Scrapy shell)

    1.介绍文档:http://scrapy-chs.readthedocs.io/zh_CN/latest/topics/shell.html# 2.终端的启用方式:scrapy shell url u ...

  5. StringTokenizer工具类的使用

    package stringtokenizer.java; import java.util.StringTokenizer; public class stringtokenizer { publi ...

  6. Android字体设置,Roboto字体使用

    一.自定义字体 1.android Typeface使用TTF字体文件设置字体 我们可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体.第一步,在assets目录下新建fonts目录 ...

  7. Java数据结构之排序---希尔排序

    希尔排序的基本介绍: 希尔排序同之前的插入排序一样,它也是一种插入排序,只不过它是简单插入排序之后的一个优化的排序算法,希尔排序也被称为缩小增量排序. 希尔排序的基本思想: 希尔排序是把数组中给定的元 ...

  8. 题目1.A乘以B

    看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值. 1实验代码 #include<stdio.h>int main(void) ...

  9. C# Socket-TCP异步编程原理详解附源码

    目录 目录异步原理主要方法源码Server源码:Client源码实验效果(广播为例)参考博客 TOC 异步原理 套接字编程原理:延续文件作用思想,打开-读写-关闭的模式. C/S编程模式如下: Ø 服 ...

  10. How jQuery UI Works

    https://learn.jquery.com/jquery-ui/how-jquery-ui-works/ jQuery UI contains many widgets that maintai ...