CSS3动画详解

首先,老阮在他博客讲的很明白了(http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html),这里我来全面总结一下。

一、transition

  注:transition需要明确知道,开始状态和结束状态的具体数值,才能计算出中间状态。就不能是auto之类的值。。。

  1.提出背景:正因为css之前没有时间轴,每个动作都是瞬间完成。所以,提出了transition的概念。

  2.作用:就如单词字面意思:“过渡,转变”。

  3.定义:transition是一个简写属性(transition: property duration timing-function delay;)。

    (1)transition-property 属性规定应用过渡效果的 CSS 属性的名称。(当指定的 CSS 属性改变时,过渡效果将开始)。

      transition-property: none(没有属性会获得过渡效果)|all(所有属性将获得过渡效果)|property(过渡效果的属性,多个时用逗号隔开);

    例如:指定宽应用过渡。

div
{
transition-property:width;
-moz-transition-property: width; /* Firefox 4 */
-webkit-transition-property:width; /* Safari 和 Chrome */
-o-transition-property:width; /* Opera */
}

    (2)transition-duration属性规定完成过渡效果需要花费的时间(以秒或毫秒计)。

div
{
transition-duration: 5s;
-moz-transition-duration: 5s; /* Firefox 4 */
-webkit-transition-duration: 5s; /* Safari 和 Chrome */
-o-transition-duration: 5s; /* Opera */
}

    (3)transition-timing-function 属性规定过渡效果的速度曲线。

      transition-timing-function: linear(线性,就是从头至尾匀速)|ease(慢-快-慢)|ease-in(慢速开始~匀速)|ease-out(匀速~慢速结束)|ease-in-out(慢速开始~匀速~慢速结束)|cubic-bezier(n,n,n,n)(在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。)|steps() 分步执行;

    (4)transition-delay 属性规定过渡效果何时开始。

div
{
transition-delay: 2s;
-moz-transition-delay: 2s; /* Firefox 4 */
-webkit-transition-delay: 2s; /* Safari 和 Chrome */
-o-transition-delay: 2s; /* Opera */
}

  4.transition的优点在于简单易用,但是它有几个很大的局限。

    (1)transition需要事件触发,所以没法在网页加载时自动发生。

    (2)transition是一次性的,不能重复发生,除非一再触发。

    (3)transition只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。

    (4)一条transition规则,只能定义一个属性的变化,不能涉及多个属性。

这就是animation的提出背景>>

二、animation

animation: name(动画名字或none) duration(动画用时) timing-function(动画速度曲线) delay(延迟时间) iteration-count(播放次数) direction(规定是否应该轮流反向播放动画);

    1.animation-name 属性为 @keyframes 动画规定名称。

    2.animation-duration属性规定动画所花费的时间,默认为o。

    3.animation-timing-function 规定动画的速度曲线(与transition相同)。

    4.animation-delay 属性定义动画何时开始(与transition相同)。

    5.animation-iteration-count 属性定义动画的播放次数(n或infinite无线循环)。

    6.animation-direction 属性定义是否应该轮流反向播放动画(normal正常,alternate轮流反向播放)。

    7.animation-play-state 属性规定动画正在运行还是暂停(running动画正在运行,paused动画停止)。

    8.animation-fill-mode 属性规定动画在播放之前或之后,其动画效果是否可见。

      animation-fill-mode : none (不改变默认行为)| forwards(动画保持在结束状态) | backwards (动画回到第一帧状态)| both(forwards和backwards两者都有);

注:只写chrome兼容写法

div
{
animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /* Safari 和 Chrome */
}

  最后,keyboards定义关键帧

@-webkit-keyframes play {}

@-moz-keyframes play {}

@-ms-keyframes play {}

@-o-keyframes play {}

@keyframes play {}

  

转载于:https://www.cnblogs.com/candy-Yao/p/7436006.html

内容概要:本文详细探讨了基于阻尼连续可调减振器(CDC)的半主动悬架系统的控制策略。首先建立了CDC减振器的动力学模型,验证了其阻尼特性,并通过实验确认了模型的准确性。接着,搭建了1/4车辆悬架模型,分析了不同阻尼系数对悬架性能的影响。随后,引入了PID、自适应模糊PID和模糊-PID并联三种控制策略,通过仿真比较它们的性能提升效果。研究表明,模糊-PID并联控制能最优地提升悬架综合性能,在平顺性和稳定性间取得最佳平衡。此外,还深入分析了CDC减振器的特性,优化了控制策略,并进行了系统级验证。 适用人群:从事汽车工程、机械工程及相关领域的研究人员和技术人员,尤其是对车辆悬架系统和控制策略感兴趣的读者。 使用场景及目标:①适用于研究和开发基于CDC减振器的半主动悬架系统的工程师;②帮助理解不同控制策略(如PID、模糊PID、模糊-PID并联)在悬架系统中的应用及其性能差异;③为优化车辆行驶舒适性和稳定性提供理论依据和技术支持。 其他说明:本文不仅提供了详细的数学模型和仿真代码,还通过实验数据验证了模型的准确性。对于希望深入了解CDC减振器工作原理及其控制策略的读者来说,本文是一份极具价值的参考资料。同时,文中还介绍了多种控制策略的具体实现方法及其优缺点,为后续的研究和实际应用提供了有益的借鉴。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值