CSS3的三个与变形和动画啊相关的属性:css
浏览器支持状况:css3
Internet Explorer 十、Firefox、Opera 支持 transform 属性。web
Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。浏览器
Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。函数
Opera 只支持 2D 转换。动画
2D transform变换方法.net
函数 | 描述 |
---|---|
translate(x,y) | 定义 2D 转换,沿着 X 和 Y 轴移动元素 |
rotate(angle) | 定义 2D 旋转,在参数中规定角度 |
scale(x,y) | 定义 2D 缩放转换,改变元素的宽度和高度 |
skew(x-angle,y-angle) | 定义 2D 倾斜转换,沿着 X 和 Y 轴 |
matrix(n,n,n,n,n,n) | 定义 2D 转换,使用六个值的矩阵 |
transform-origin 属性3d
前面咱们提到的transform的方法都是基于元素的中心来变换的,也就是元素变换的基点默认是元素的中心。可是有时候咱们须要在不一样的位置对元素进行这些操做,那么咱们就可使用transform-origin来对元素进行基点位置改变。该属性能够接收三个参数:orm
transform-origin: x-axis y-axis z-axis;blog
3D transform变换方法
Internet Explorer 10 和 Firefox 支持 3D 转换.
Chrome 和 Safari 必须添加前缀 -webkit-.
Opera 还不支持 3D 转换(支持 2D 转换 ).
三维变换使用基于二维变换的相同属性。CSS3中的3D变换主要包括如下几种功能函数:
还有如下几个转换属性:
目前各大主流浏览器对transform 3d属性的兼容性还不是特别好,感兴趣的读者能够自行深刻了解。下面咱们介绍几个经常使用的功能方法:
rotateX()方法,围绕其在一个给定度数X轴旋转的元素;
rotateY()方法,围绕其在一个给定度数Y轴旋转的元素;
rotateZ()方法,围绕其在一个给定度数Z轴旋转的元素。
W3C标准中对css3的transition这是样描述的:“css的transition容许css的属性值在必定的时间区间内平滑地过渡。这种效果能够在鼠标单击、得到焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。”
transition属性的值包括如下四个:
浏览器兼容性
Internet Explorer 9 以及更早的版本,不支持 transition 属性。
Internet Explorer 10, Firefox, Opera 和 Chrome支持transition 属性。Chrome 25 以及更早的版本以及Safari 须要前缀 -webkit-。
要使用animation动画,先要熟悉一下keyframes,Keyframes的语法规则:命名是由”@keyframes”开头,后面紧接着是这个“动画的名称”加上一对花括号“{}”,括号中就是一些不一样时间段样式规则。不一样关键帧是经过from(至关于0%)、to(至关于100%)或百分比来表示(为了获得最佳的浏览器支持,建议使用百分比),
@keyframes定义好了,要使其能发挥效果,必须经过animation把它绑定到一个选择器,不然动画不会有任何效果。下面列出了animation的属性:
属性 | 描述 | 取值 |
---|---|---|
animation | 全部动画属性的简写属性,除了 animation-play-state 属性 | |
animation-name | 规定 @keyframes 动画的名称 | |
animation-duration | 规定动画完成一个周期所花费的秒或毫秒 | 默认是 0 |
animation-timing-function | 规定动画的速度曲线 | 默认是 “ease” |
animation-delay | 规定动画什么时候开始 | 默认是 0 |
animation-iteration-count | 规定动画被播放的次数 | 默认是 1(infinite:无限次 |
animation-direction | 规定动画是否在下一周期逆向地播放 | 默认是 “normal”(reverse:反向播放;alternate:奇数次正向播放,偶数次反向播放;alternate-reverse:奇数次反向播放,偶数次正向播放。) |
animation-play-state | 规定动画是否正在运行或暂停 | 默认是 “running”(paused:暂停动画)
|
浏览器兼容性
Internet Explorer 十、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。
Chrome 和 Safari 须要前缀 -webkit-。
注意:Internet Explorer 9,以及更早的版本,不支持 @keyframe 规则或 animation 属性。
Transform、Transition、Animation 的区别:
Transform:对元素进行变形;
Transition:对元素某个属性或多个属性的变化,进行控制(时间等),相似flash的补间动画。但只有两个关键贞。开始,结束。
Animation:对元素某个属性或多个属性的变化,进行控制(时间等),相似flash的补间动画。能够设置多个关键贞。
Transition与Animation:
transition须要触发一个事件 ,而animation在不须要触发任何事件的状况下也能够显式的随着时间变化来改变元 素css的属性值,从而达到一种动画的效果。
以上大部份内容来自:http://blog.csdn.net/u014607184/article/details/51801393 ,感谢做者