您的位置:首页 > Web前端 > CSS

css010 css的transform transition和animation

2016-01-06 21:19 585 查看
css010 csstransform transitionanimation

看着没有一个能想起他们是干什么的。。

1、 Transform

Transform(变形)

rotate(旋转)

transform:rotate(10deg); 顺时针旋转10度 (deg角度的度量单位)

scale(缩放)

transform: scale (2); scale(缩放)调整元素的尺寸 (2代表倍数)

transform: scale (2,5); 宽变为两倍 高变为5倍

transform: scalex (2); 宽度变为2倍 高度不变

scale是缩放元素,当它后面的值为负数时可以让一个元素翻转

transform: scalex (-1); 从左往右翻。

transform: scalex (-1,1); 沿Y轴翻转。

transform: scalex (1,-1); 沿X轴翻转。

translate( 元素实现向某一个方向移动)

translate:x y; (x值为负值时-向左移动。Y为负值时-向上移动)

skew(倾斜)

transform:skew(45deg 0); 沿X轴倾斜

transform:skew(0 45deg); 沿Y轴倾斜

多个transform函数共用

transform:rotate(45deg) scale(2);

origin (根源,起点) 一般默认为元素中心点

transform-origin:left top;

2、 transition (过渡 变化 转化)

一、为了使transition生效,需要做以下事情:

1、两个样式:一个样式代表元素最初的样子,另一个样式代表最终的样子

2、Transition属性:

3、触发器

二、如何添加transition

Css的transition的核心是用四个属性控制要移动化战士哪些属性、动画过程要多久,使用什么类型的动画,以及动画开始前要不要延迟。

transition需要添加供应商前缀才能正常在浏览器中使用。(p389 p390

以下例子是让鼠标经过时背景色变为蓝色,并且变化持续一秒。

1、.navButton{

background-color :orange;

transition-property:background-color;

transition-duration:1s;

}

.navButton:hover{

background-color:blue

}

三、四个属性分别是什么??

1、transition-property ,定义了要以动画形式战士哪些属性

关键字:all、(color、background-color、boder-color)

2、transition-duration 定义了动画要持续多久才结束(一般以秒或者毫秒为单位)

transition-duration:1s;

还可以对每一个要定义动画的属性就行时间限定:

transition-property:color, background-color, boder-color;

transition-duration:1s, .75s ,2s;

3、transition-timing-function 控制动画的速度:可为下面四个值:

linera 、ease(默认) 、ease-in、 ease-out、ease-in-out

transition-timing-function: cubic-bezier(.20, .96, .74, .07)

4、transition-delay 延迟启动transition

transition:2s;

四、transition的快捷方式

transition属性可以一次性把transition-property transition-duration transition-timing-function transition-delay都表达出来。称为他的快捷属性

transition: all 1s ease-in 5s;

transition: background-color 1s ;等等

3、 Animation 创建动画

一、 创建动画的两个步骤:

1、定义动画(包括创建关键帧)

2、将动画运用到元素上

二、 如何定义关键帧

定义关键帧的基本结构:

@keyframes animationName{

from{/* list css properties here*/}

to{/* list css properties here*/}

}

from 开始帧。to 结束帧

@keyframes fadein{

from{opacity:0;}

to{opacity:1;}

}

@keyframes fadein{

from{ background-color:red; }

50%{ background-color:blue; }

to{ background-color:orange;}

}

可以用0%替代from ,100%替代to;

三、 如何应用animation

1、可以给伪类应用动画,包括 :hover :active :target :focus

2、用@keyframes规则创建淡入动画:

@keyframes fadeIn{ from{opacity:0;} to{ opacity:1;} }(为单个属性创建动画)

(为多个属性创建动画)

@keyframes fadeIn{

from{

opacity:0;

color:red;

width:50%;

}

to{

opacity:1;

color:blue;

width:100%;

}

}

3、将动画应用到<div>标签的样式

.announcement{

animation-name:fadeIn;

animation-duration:1s;

}

animation-name 告诉浏览器使用哪一个动画

animation-duration 告诉浏览器动画持续的时间

四、 如何给animation定时

五、 如何完成animation

transition 是只能运行一次的动画

animation 可以运行多次的动画

animation-iteration-count:10; (将动画运行十次)

animation-direction 控制动画运行的方向:值可为:alternate

六、 animation快捷方式

.fade{

animation-name:fadeout;

animation-duration:2s;

animation-timing-function:ease-in-out;

animation-iteration-count:2;

animation-direction:alternate;

animation-delay:5s;

animation-fill-mode:forwards;

}

可以写成下面一句话:

.fade{ animation:fadeout 2s ease-in-out 2 alternate 5s forwards }

(只有名称和时间是必要的,其他的都是可选的。)

七、 如何暂停animation

animation-play-state:running/paused;

.fade:hover{ animation-play-state: paused; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: