前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端开发,CSS3动画代码高频知识点

前端开发,CSS3动画代码高频知识点

作者头像
用户5997198
发布2019-11-07 12:22:19
6460
发布2019-11-07 12:22:19
举报
文章被收录于专栏:蚂蚁开源社区蚂蚁开源社区
动画

与transition十分相像,属性略有差异,下面来看看她有哪些属性

  • animation-name keyframeName(动画过渡的css属性,只是不过这个是自己定义的keyframe)
  • animation-duration动画所花费的时间(同转换)
  • animation-timing-function速度曲线(同过渡)
  • animation-delay动画开始前的延迟(同转换)
  • animation-iteration-count动画播放的次数
  • animation-direction动画播放的方向

动画持续时间动画计时功能动画延迟这三个属性与transition类似,忽略这块。

动画名称

div
{
animation-name:mymove;
animation-duration:5s;
animation-name:mymove;
animation-duration:5s;
}
@keyframes mymove
{
from {left:0px;}
to {left:200px;}
}

如上面的例子可知animation-name是可以任意名称。这个名称用关键帧来定义

@Keyframes中的样式规则是由多个百分比构成的,如“ 0%”到“ 100%”之间,可创建多个百分比

例子中“从”“到”代表“ 0%”到“ 100%”

注意0%不能省略%

@Keyframe的语法综合起来如下

@keyframes yourMoveName {
from {
Properties:Properties value;
}
Percentage {
Properties:Properties value;
}
to {
Properties:Properties value;
}
}
或者全部写成百分比的形式:
@keyframes IDENT {
0% {
Properties:Properties value;
}
Percentage {
Properties:Properties value;
}
100% {
Properties:Properties value;
}
}

yourMoveName:就是duration-name所要用到值,随便取,语义化更好

百分比:百分之,可添加多个这样的百分值

属性:css属性名,左侧,背景

值:就是响应的属性值

注意!animation目前只支持webkei内核的浏览器,所以需要在上面的基础上加上-webket前缀

div
{
animation-name:mymove;
animation-duration:5s;
-webkit-animation-name:mymove;
-webkit-animation-duration:5s;
}
@keyframes mymove
{
from {left:0px;}
to {left:200px;}
}
@-webkit-keyframes mymove /* Safari and Chrome */
{
from {left:0px;}
to {left:200px;}
}

动画迭代次数

transition是触发后发生的一次动画,

animation动画如flash,可重复播放,得设置animation-iteration-count属性,自定义次数,infinite为无限次

动画方向

指定动画播放的方向,默认值是noraml,另一个值alterante是反向的意思。偶数次反向执行动画

div
{
width:100px;
height:100px;
animation:myfirst 5s 5 alternate;
-moz-animation:myfirst 5s 5 alternate; /* Firefox */
-webkit-animation:myfirst 5s 5 alternate; /* Safari and Chrome */
-o-animation:myfirst 5s 5 alternate; /* Opera */
}
@keyframes myfirst
{
0%   left:0px; top:0px;}
25%  {left:200px; top:0px;}
50%  {; left:200px; top:200px;}
75%  {en; left:0px; top:200px;}
100% {left:0px; top:0px;}
}
@-moz-keyframes myfirst /* Firefox */
{
0%   left:0px; top:0px;}
25%  {left:200px; top:0px;}
50%  {; left:200px; top:200px;}
75%  {en; left:0px; top:200px;}
100% {left:0px; top:0px;}
}
@-webkit-keyframes myfirst /* Safari and Chrome */
{
0%   left:0px; top:0px;}
25%  {left:200px; top:0px;}
50%  {; left:200px; top:200px;}
75%  {en; left:0px; top:200px;}
100% {left:0px; top:0px;}
}
@-o-keyframes myfirst /* Opera */
{
0%   left:0px; top:0px;}
25%  {left:200px; top:0px;}
50%  {; left:200px; top:200px;}
75%  {en; left:0px; top:200px;}
100% {left:0px; top:0px;}
}

例子演示效果:http://www.zzfriend.com/demo/css3/lizi.html

兼容性

针对低版本的浏览器最好使用-webket-,-moz,-o -.- ms-

关于低版本的IE,动画建议使用JS处理,css3不要勉强。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 蚂蚁大喇叭 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档