CSS3(动画)

本文详细介绍了CSS3动画的相关属性,包括animation-name、animation-duration、animation-timing-function等,并探讨了如何通过@keyframes定义关键帧。同时,文章提到了针对浏览器的前缀使用,如-webkit-、-moz-等。最后,文章还讨论了CSS3动画的优化策略,特别是will-change属性的使用,以及其对性能提升的作用。

不同浏览器的内核和前缀

Chrome(谷歌浏览器) :WebKit内核 -webkit-
Safari(苹果浏览器) : WebKit内核 -webkit-
Firefox(火狐浏览器) : Gecko内核 -moz-
Opera(欧朋浏览器) : Presto内核 -o-
IE(IE浏览器) : Trident内核 -ms-

1.CSS3动画

兼容:IE10+ ,Firefox16+,Chrome43+,Safari69+,Opera30+ Android(-webkit-)

animation-name和animation-duration 是动画最基础属性,缺一个就不能实现效果

1.1 animation-name(动画的名称)

	animation-name:设置动画的名称\none/*没有动画*/;

配合@keyframes 使用,起到调用作用.

1.2 animation-duration(动画播放时间)

语法

animation-duration:m/*秒*/sm/*毫秒*/0/*默认值*/;

1.3 animation-timing-function(动画类型)

-
linear线性过渡(匀速运动)相对不错
ease平滑过渡(慢加速,速度越快增加越慢)结束生硬
ease-in由慢到快结束生硬
ease-out又快到慢
ease-in-out又慢到快再到慢更适合

语法

animation-timing-function:linear;

1.4 animation-delay(动画延迟)

语法

animation-delay:m/*秒*/sm/*毫秒*/0/*默认值*/;

负值会跳多对应的秒数

1.5 animation-iteration-count(动画循环次数)

语法

animation-iteration-count:数值次数\infinite/*无限次*/;/*默认值为1*/

1.6 animation-direction(是否反向运动)

animation-direction:normal;
normal正常方向
reverse反方向
alternate先正后反,并交替运行(必须有2次以上的循环)
alternate-reverse先反后正,并交替运行(必须有2次以上的循环)

1.7 animation-fill-mode(不播放时状态)

animation-fill-mode:none;
none默认值
forwards动画结束时的状态
backwards动画开始时的状态
both动画结束或开始的状态

1.8 animation-play-state(运行或暂停)

animation-play-state:paused/*暂停*/running/*默认值,运行*/;

1.9 animation(简写)

animation: name duration timing-function delay iteration-count direction fill-mode play-state;
animation:名字 播放时间 动画类型 动画延迟 循环次数 是否反向运动 不播放时状态 运行或暂停;

2. CSS3 @keyframes(关键帧)

语法

 @keyframes 定义名字{
 from{css属性;}
 30%{css属性;}
 80%{css属性;}
 to{css属性;}
}

不是所有属性动能有效果
加前缀

 @-webkit-keyframes 定义名字{
 from{css属性;}
 30%{css属性;}
 80%{css属性;}
 to{css属性;}
}

3.动画优化 will-change(提前通知浏览器要做什么动画)

1.position-fixed替换background-attachment
2.带图片的元素放在伪元素中
3.巧用will-change

will-change:auto;
auto可能有动画需要优化
scroll-position滚屏动画
contents改变元素的内容
—custom-ident—明确将要改变的属性的名称
—animateable-feature—可动画的一些证,比如left,top,margin等

兼容:IE13+ ,Firefox46+,Chrome49+,Safari9.1+,Opera39+ ,ios9.3+ ,Android52+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值