CSS3动画:transition和animation(一)

1、浏览器支持情况

transform:

transition:

animation:

2、分别介绍他们的用法

transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜,即可以改变元素的形状。

语法为transform: none|transform-functions;具体的方法参见

W3CSchool上的CSS3 transform 属性介绍

transition 属性是一个简写属性,用于设置四个过渡属性:

  • transition-property      //哪一个属性的变化需要过度动画
  • transition-duration          //过度动画持续的事件是多少
  • transition-timing-function             //过度动画的效果是什么
  • transition-delay          //过度动画是否延时触发

W3CSchool上的CSS3 transition 属性介绍

这里简单说下实际上使用这两个属性做过度动画时候的方法:

  例1:我们最经常用的应该是鼠标滑到元素之上的时候,让元素有一些变化。我们会设置初始化的时候div的状态,然后设置div:hover相应的状态(状态的改变可以是普通的属性,类似于width,height之类的,但今天说的是transform,所以特指变形),这两个状态之间,我们想用过度动画的形式,让他们呈现出一种动画的效果。那么怎么使用过度属性transition呢。一开始,我将这个属性给了div:hover,这样设置得到一个很奇怪的效果,那就是鼠标放上去的时候,可以按照设定的transition方法进行过度,但是鼠标移开的时候,却是直接变回来初始化状态,中间并没有过度。为什么会这样呢。先分析下选择器,div和div:hover同时选择的是div元素,只不过div:hover只是选择了div中的一种状态而已。那么,div:hover中的transform属性在鼠标滑到div元素之上的时候会被加到div元素中,这时候div元素状态的改变,就会以transition中的设置进行了。而当鼠标移出div元素的时候,除了会讲状态设置到初始化时候的状态,也会移除transition中设置的效果,从而导致移出动画并没有过度效果。

例2:同样的 ,如果是用javaScript通过事件绑定,在鼠标滑到元素之上的时候加上一个改变状态的class,也是必须要在元素的初始化状态下设置transition的方法。才会在不管是在改变状态之前还是之后都有过度的效果。

通过上面的例子不难看出,元素状态的改变,比如说width,height,transform...其实就是过度动画的第一帧和最后一帧。而通过对元素设置transition属性,也就是设置了首尾两帧之间的过度。

附上最基础的动画代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{position: relative;}
        .donghua{transition: all .3s linear;width: 200px;background-color: #555;color: #fff;height: 100px;position: absolute;top: 88px;left: 123px;}
        .donghua:hover{width: 300px;transform: scale(1.2,1.3);}
    </style>
</head>
<body>
    <div class="donghua">CSS3动画演示</div>
</body>
</html>

鼠标移进和移出div都会看到带过渡效果的动画。

【本文··完】

时间: 2024-10-23 22:59:27

CSS3动画:transition和animation(一)的相关文章

CSS3动画 transition和animation的用法和区别

transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C   IE  -ms-  Chrome/Safari -webkit-   Firefoc -moz-   opera -o-  区别: transition是过度属性,需要用户自行触发,触发时间比如:点击,鼠标悬浮等 animation是动画属性,其不需要用户触发,网页加载完成后自动执行 使用: transation{过度属性 过度时间 动画类型 延迟时间} -o-transation{过

弄清 CSS3 的 transition 和 animation

原文:弄清 CSS3 的 transition 和 animation 弄清 CSS3 的 transition 和 animation transition transition 属性是transition-property,transition-duration,transition-timing-function,transition-delay的简称,用于设定一个元素的两个状态,不同的状态可以用伪类,比如:hover, :active 或者是通过 javascript 动态设定.IE10

2018年1月17日总结 css3里transition 和animation 区别

transition 和animation两个CSS3属性经常被用到实际项目中,想把它整理出来. 1.先介绍transition >>>>>  a. 在做项目中经常会遇见这样的情景,比如一个按钮,当鼠标移入进去的时候改版按钮背景颜色以及字体颜色.此时外面一般会这样做: .btn{width: 80px;height: 25px;border: 1px solid #333;color:#333;text-align: center;line-height: 25px;} .b

css3动画transition详解

transition主要包含四个属性值:执行变换的属性:transition-property,变换延续的时间:transition-duration,在延续时间段,变换的速率变化transition-timing-function,变换延迟时间transition-delay.下面分别来看这四个属性值 一.transition-property 语法: transition-property : none | all | [ <IDENT> ] [ ',' <IDENT> ]*

css动画——transition和animation

http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html 第一部分:CSS Transition 在CSS 3引入Transition(过渡)这个概念之前,CSS是没有时间轴的.也就是说,所有的状态变化,都是即时完成. delay的真正意义在于,它指定了动画发生的顺序,使得多个不同的transition可以连在一起,形成复杂效果. transition的使用注意 (1)目前,各大浏览器(包括IE 10)都已经

css3 三大王 transition , transform , animation

三大王  transition : 过渡     , transform : 变形  ,   animation : 动画 1.transform  变形 任何的变形都可以被过渡   , 一个transform写多个用空格隔开 ,分开写可能会被覆盖, 想要实现3d效果要给父元素添加景深 eg:  perspective:500px; perspective-origin <1> transform: rotate(90deg)  意思是顺时针'旋转' 90度   ,  deg是单位度    可

css动画(transition/transform/animation)

在开发中,一个好的用户操作界面,总会夹杂着一些动画.css用对少的代码,来给用户最佳的体验感,下面我总结了一些css动画属性的使用方法及用例代码供大家参考,在不对的地方,希望大佬直接拍砖评论. 1 transition(过渡) 使用语法: transition: property duration timing-function delay; 参数: (1) property(设置过渡效果的css属性名称):none | all | property.none表示没有属性获得过渡效果:all表示

css 动画 transition和animation

本文参考:http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html 1. transition基本用法: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="

web前端入门到实战:css3动画 Transition

CSS transitions 提供了一种在更改CSS属性时控制动画速度的方法. 其可以让属性变化成为一个持续一段时间的过程,而不是立即生效的.比如,将一个元素的颜色从白色改为黑色,通常这个改变是立即生效的,使用 CSS transitions 后该元素的颜色将逐渐从白色变为黑色,按照一定的曲线速率变化.这个过程可以自定义. CSS transitions 可以决定哪些属性发生动画效果 (明确地列出这些属性),何时开始 (设置 delay),持续多久 (设置 duration) 以及如何动画 (

css3动画-transition

写法: transition: <过渡属性名称[color]> <过渡时间[1s]> <过渡模式[inline]>, <过渡属性名称> <过渡时间> <过渡模式>, ... 或者 transition: <过渡属性名称> <过渡时间> <过渡模式>; transition: <过渡属性名称> <过渡时间> <过渡模式> ... 或者可以单独分开书写: <过渡