赞
踩
[tansition 过渡/转变]
transition是 css的属性值在一定的时间内从一个状态渐渐变到另一个状态。
transition需要添加触发条件,比如鼠标点击、鼠标滑入,获取焦点来改变元素css的属性值。
transition-property:元素中参与过渡的css属性 [property 属性,特性,财产]
transition-duration:元素过渡的持续时间
transition-delay:元素 延迟过渡的时间 (何时开始)
transition-timing-function:元素中过渡的动画类型(运动曲线) 默认:ease
过渡的动画类型库 http://cubic-bezier.com/
简写:
transition:all 5s 10s; 第一个时间是过渡时间, 全部属性,不写或写all
1.transition添加给要改变的元素。(谁要变加给谁)
2.要改变的元素的css属性值必须是具体的数值(像素、百分比)。
3.要改变的元素的css属性,必须有起始值和目标值。
4.transition-property:position或者写position的属性值过渡不支持,直接写all
css属性,实现元素的位移,旋转,缩放等
[transform 变型,改变形状]
2D位移 translate() transform属性的属性值;
向右,向下正值; 向左,向上是负值;
translate 将元素向指定的方向移动
水平移动:向右移动translate(x,0)和向左移动translate(-x,0);
垂直移动:向上移动translate(0,-y)和向下移动translate(0,y);
对角移动:右下角移动translate(x,y)、右上角移动translate(x,-y)、左上角移动translate(-x,-y)和左下角移动translate(-x,y)。
X轴移动:transform:translateX() , Y轴移动transform:translateY();
transform:translate(x)一个值只代表X轴。
2D缩放scale() transform属性的属性值;
让元素根据中心原点对元素进行缩放。默认的值1(不放大,不缩小)。因此0.01到0.99之间的任何值,使一个元素缩小;而任何大于或等于1.01的值,让元素显得更大。
只有一个值时,其第二个值默认与第一个值相等。例如,scale(2)让元素沿X轴和Y轴放大两倍。
scaleX():相当于scale(X,1)。表示元素只在X轴(水平方向)缩放元素.
scaleY():相当于scale(1,Y)。表示元素只在Y轴(纵横方向)缩放元素.
transform:scale(一个值)同时代表X轴与Y轴
2D旋转 rotate() transform属性的属性值; 单位deg
2D倾斜 skew() transform属性的属性值; 单位deg [skju 倾斜]
变形原点(只对rotate、scale、skew有效)
特点:近大远小,物体后面遮挡住看不见;
2d场景,在屏幕上水平和垂直的交叉线x轴和y轴
3d场景,在垂直于屏幕的方法,相对于3d多出个z轴
Z轴:靠近屏幕的方向是正向(正值),远离屏幕的方向是反向(负值)
x轴,右边为正值,左边负值;
y轴,下面为正值,上边负值;
z轴,向外为正值,向内负值;
CSS3中的3D位移主要包括translateZ()和translate3d()两个功能函数;
translate3d(tx,ty,tz)
ty:代表纵向坐标位移向量的长度;
tx:代表横向坐标位移向量的长度;
tz:代表Z轴位移向量的长度。此值不能是一个百分比值,如果取值为百分比值,将会认为无效值。
注:translate3d(必须写3个值,没有写0)
translateZ(t)
指的是Z轴的向量位移长度。(向外为正值,向内为负值)
CSS3中的3D旋转主要包括rotateX()、rotateY()、rotateZ()和rotate3d()四个功能函数;
rotateX(a)
rotateX()函数指定一个元素围绕X轴旋转; 旋转的角度值,如果值为正值,元素围绕X轴顺时针旋转;反之,如果值为负值,元素围绕X轴逆时针旋转。
rotateY(a)
rotateY()函数指定一个元素围绕Y轴旋转,旋转的角度;如果值为正值,元素围绕Y轴顺时针旋转;反之,如果值为负值,元素围绕Y轴逆时针旋转。
rotateZ(a)
rotateZ()函数和其他两个函数功能一样的,区别在于rotateZ()函数指定一个元素围绕Z轴旋转
rotate3d(x,y,z,a)(前三个值建议取值0或1) 矢量
x:是一个0到1之间的数值,主要用来描述元素围绕X轴旋转的矢量值;
y:是一个0到1之间的数值,主要用来描述元素围绕Y轴旋转的矢量值;
z:是一个0到1之间的数值,主要用来描述元素围绕Z轴旋转的矢量值;
a:是一个角度值,主要用来指定元素在3D空间旋转的角度,如果其值为正值,元素顺时针旋转,反之元素逆时针旋转。
scaleZ(s)
s:指定元素每个点在Z轴的缩放比例。
scale3d()
sx:横向缩放比例;
sy:纵向缩放比例;
sz:Z轴缩放比例;
注:scaleZ()和scale3d()函数单独使用时没有任何效果,这两个方法需要写在transform属性值位置 为其它属性值的前边,需要配合其他的变形函数一起使用才会有效果
设置元素被查看位置的视图:
perspective 属性定义 3D 元素距视图的距离,以像素为单位。该属性允许改变 3D 元素查看 3D 元素的视图。
当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身。
注释:perspective 属性只影响 3D 转换元素。
提示: 与 perspective-origin 属性一同使用该属性,可以改变 3D 元素的底部位置
近大远小,程序中实现的方法 perspective ,(物体和眼睛的距离越小,看到的物体越大 ,近大远小的效果越明显)
perspective: 1200px;(通常的数值在900-1200之间,添加给父元素)
子元素要想有透视效果,给父元素添加perspective属性;
perspective-origin 属性定义 3D 元素所基于的 X 轴和 Y 轴。观察3d元素的(位置)角度.
当为元素定义 perspective-origin 属性时,其子元素会获得透视效果,而不是元素本身。
注释:该属性必须与 perspective 属性一同使用,而且只影响 3D 转换元素。
perspective-origin: x-axis y-axis;
perspective-origin:center center;(中心)
perspective-origin:left top; (左上角)
perspective-origin:100% 100%; (右下角)
transform-style属性(添加在父元素上的)
transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现。他主要有两个属性值:flat和preserve-3d
flat值为默认值,表示所有子元素在2D平面呈现。
preserve-3d表示所有子元素在3D空间中呈现。
控制子元素是否3D呈现, 属性写到父元素上,控制的是子元素
animation vs transition
相同点:都是随着时间改变元素的css属性值。
不同点:transition需要触发一个事件(hover事件或click事件等)才会随时间改变其css属性值; 而animation在不需要触发任何事件的情况下也可以随着时间去改变元素css的属性值。
制作动画分两步:
@keyframes 动画名{
from{初始状态属性}
to{结束状态属性}
}
或
@keyframes 动画名{
0%{初始状态属性}
50%(中间再可以添加关键帧)
100%{结束状态属性}
}
animation-name
设置的动画名称
必须与规则@keyframes配合使用, 例如:@keyframes mymove{} animation-name:mymove;
animation-duration
设置动画的持续时间
例如:animation-duration:3s; 动画完成使用的时间为3s
animation-timing-function
设置动画的过渡类型
属性值
linear:线性过渡(匀速)。
ease:平滑过渡。
ease-in:由慢到快。
ease-out:由快到慢。
ease-in-out:由慢到快再到慢。
step-start:马上跳到动画每一结束桢的状态
animation-delay
设置动画延迟的时间(何时开始)
例如:animation-delay:0.5s; 动画开始前延迟的时间为0.5s)
animation-iteration-count
设置动画的循环次数
属性值
animation-iteration-count: infinite | number;
infinite,无限循环
数值, 循环的次数
animation-direction
设置动画在循环中是否反向运动
属性值
normal,正常方向
reverse,反方向运行
alternate:动画先正常运行再反方向运行,并持续交替运行
alternate-reverse:动画先反运行再正方向运行,并持续交替运行
animation-play-state (简写不包括)
设置动画正在运行还是暂停
属性值
animation-play-state:running | paused;
running:运动
paused: 暂停
通常和:hover配合使用, animation-play-state:paused; 当鼠标经过时动画停止,鼠标移开动画继续执行
animation-fill-mode
设置动画在播放之前或之后,其动画效果是否可见。
none | 不改变默认行为。 |
forwards | 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。 |
backwards | 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。 |
both | 向前和向后填充模式都被应用。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。