摘要:规则内指定一个样式和动画将逐步从目前的样式更改为新的样式。功能若触发动画事件后在动画未结束前停止事件会放弃当前动画从此时的状态开始执行停止事件的动画。
css3动画 animation
使用css3动画需要2步
为指定元素添加animation属性及属性值。各浏览器私有属性在前,通用属性在最后。
使用@keyframes定义动画过程名称。各浏览器私有属性在前,通用属性在最后。
animation定义动画的属性值。
@keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。
div { -webkit-animation: myfirst 5s; /* Safari Chrome opera */ -ms-animation: myfirst 5s; /* ie */ -moz-animation: myfirst 5s; /* ff */ animation: myfirst 5s; } @-webkit-keyframes myfirst /* Safari Chrome opera */ { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } @-ms-keyframes myfirst /* ie */ { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } @-moz-keyframes myfirst /* ff */ { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } @keyframes myfirst { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} }
功能
可以改变任意多的样式,任意多的次数。
使用from,to等同于0%,100%
最好使用0% 100%(对浏览器好)
属性
@keyframes 规定动画
animation 简写属性 name duration timing-function delay iteration-count direction fill-mode play-state
animation-name 规定@keyframes的名称
animation-duration
animation-timing-function linear|ease|ease-in|ease-out|cubic-bezier
animation-delay
animation-iteration-count 动画重复播放的次数
animation-direction 定义动画在下一周期是否逆向播放 normal|reverse|alternate|alternate-reverse|initial|inherit
animation-fill-mode 动画不播放时的样式
animation-play-state 定义动画是否运行或停止 paused|runing
transitionie9及以下不支持。
各浏览器私有属性在前,通用属性在最后。
// css
div {
-webkit-transition: width 2s; /* safari chrome */ -moz-transition: width 2s; /* ff */ -o-transition: width 2s; /* opera */ transition: width 2s; width: 200px; height: 200px;
}
.w {
width: 300px;
}
// html
$("div").addClass("w")
})
功能
若触发动画事件后在动画未结束前停止事件会放弃当前动画从此时的状态开始执行停止事件的动画。
属性
transition-property 设置过渡动画的css属性名称。
transition-duration 完成过渡动画的时长。
transition-time-function 过渡动画的速度曲线。
transition-delay 过渡动画的延迟时间。
transition与animation的区别在于前者只做过渡效果,后者着重做动画效果。若实在分不清就把transition记为过渡。过渡是直线型的,不可以拆线。animation记为动画。动画是可以做很多拆线型的。
transformdiv { -ms-transform: rotate(30deg); /* ie */ -webkit-s-transform: rotate(30deg); /* safari chrome opera */ -moz-s-transform: rotate(30deg); /* ff */ transform: rotate(30deg); }
功能
给指定元素变换。
属性
none
matrix(n, n, n, n, n, n)
translate(x, y) 2d移动
translate3d(x, y, z) 3d移动
translateX(x)
translateY(y)
translateZ(z)
scale(x, y) 2d缩放
scale3d(x, y, z) 3d缩放
scaleX(x)
scaleY(y)
scaleZ(z)
rotate(a) 2d旋转
rotate3d(x, y, z, a) 3d 旋转
rotateX(a)
rotateY(a)
rotateZ(a)
skew(xa, ya) 2d倾斜
skewX(a)
skewY(a)
perspective(n) 3d透视视图
|transform-origin|变形时的原点位置|center center|x-axis y-axis z-axis; // top left right bottom x% xpx|
|transform-box|定义排版盒子|border-box|fill-box, view-box, inherit, initial, unset|
|transform-type|嵌套元素是怎样在三维空间中呈现的|flat 二维| preserve-3d 三维|
transform是变换(若不理解变换就理解为变形)。translate是移动。是transform的一种属性值。没有动画。transition是过渡。有动画。
2018/02/12 by stone
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/114006.html
摘要:真的是给我们新手学习移动端适配造成不少困惑英语真的很重要呀。细节高清屏上的处理其实并不是所有做移动端适配的人都一定会遇到这个问题。 一次搞清楚移动端这几个坑爹的单位慨念 目录: 一、让坑爹的单位,不再坑爹 二、需要准备什么样的设计稿 三、rem方案的原理和细节 高清屏上,位图的处理 高清屏上,关于border: 1px的处理 移动端屏幕的自动适配的处理 移动端屏幕上字体大小的处理...
摘要:真的是给我们新手学习移动端适配造成不少困惑英语真的很重要呀。细节高清屏上的处理其实并不是所有做移动端适配的人都一定会遇到这个问题。 一次搞清楚移动端这几个坑爹的单位慨念 目录: 一、让坑爹的单位,不再坑爹 二、需要准备什么样的设计稿 三、rem方案的原理和细节 高清屏上,位图的处理 高清屏上,关于border: 1px的处理 移动端屏幕的自动适配的处理 移动端屏幕上字体大小的处理...
阅读 3666·2021-10-11 11:09
阅读 1334·2021-09-24 10:35
阅读 3422·2021-07-29 13:48
阅读 460·2019-08-30 13:15
阅读 2510·2019-08-30 12:53
阅读 3181·2019-08-30 12:44
阅读 2710·2019-08-29 16:57
阅读 957·2019-08-29 12:26