在上一篇博文中,我们理解的构建CSS动画的属性根本
在本篇中,将通过几个有趣的动画实例,助你更稳定地节制CSS动画的技巧
实用案例CSS动画紧张由过渡和动画属性与关键帧组成,合理地利用它们,不仅能增强视觉吸引力,还能提升用户体验,让网页更加生动和互动
拟态表单
拟态风是近年来在网页设计中盛行的一种视觉风格,它结合了扁平设计和真实感设计的优点,通过奥妙地利用阴影和高光,使界面元素看起来既有立体感又简洁优雅
在拟态风的设计中,CSS动画同样扮演着重要角色,通过动画,拟态风界面变得更加生动和互动,例如,按钮的按压效果、输入框的聚焦等,都可以通过CSS动画来实现
以下为一个大略的拟态风表单展示:
旁边两个表单构造同等,但左侧没有添加过渡,右侧添加了过渡
可以较为明显地看出,没有过渡的表单交互是比较生硬的,添加过渡后,交互变得更加生动,给人一种真的能够按下去的觉得,交互体验更优
代码如下
HTMLCSS紧张便是通过box-shadow属性设置不同状态时展示不同的阴影效果,然后通过transition设置box-shadow为过渡属性,让不同状态间的阴影效果过渡自然
关于box-shadow的过渡,只能是外阴影向外阴影过渡,内阴影(inset)向内阴影过渡,外阴影和内阴影交叉过渡是无效的
逐帧动画逐帧动画是CSS动画中的一种分外效果,通过将动画分割成多个步骤,使元素在每一步骤之间进行离散的变革,与平滑过渡的动画不同,逐帧动画可以实现类似老式电影或动画的“跳帧”效果,非常适宜用于图标闪烁、数字翻页、个性化较强的动画等场景
实现这种动画效果,紧张须要借助一个CSS函数:steps,其吸收两个参数,如下:
step:(必需)阶梯数,表示动画分成多少步,将动画的总时长按照阶梯数等距划分direction:(可选)步进位置,定义每一步发生的韶光点end:(默认)表示每个步骤在韶光间隔的结束处发生,即动画在每个韶光间隔的末端跳变start:表示每个步骤在韶光间隔的开始处发生,即动画在每个韶光间隔的开头跳变如下,是利用该函数制作的一些逐帧动画效果
代码如下
HTMLCSS个中ma-steps.png是类似下面的逐帧分解图
利用steps() 函数,可以将动画分割成离散的步骤,使动画在这些步骤之间跳变,通过调度步数和步进位置参数,可以精确掌握动画的行为,创建各种独特的、个性化更强的视觉效果
地球自转利用animation可以实现很多丰富有趣的动画,如:地球自转
我们只须要准备一张如下的地球平面图
然后给它加上一点移动动画和CSS样式,即可形成如下的酷炫效果
代码如下
HTMLCSS总结篇幅有限,这里就不先容太多案例,总之,CSS动画是一种强大的工具,能够在网页设计中添加动感和互动性;比拟起先的依赖JS实现的动画而言,其通过纯CSS实现的动画效果,不仅可以提升用户体验,还能极大地提高网页性能和加载速率
无论是大略的渐变、缩放、旋转动画,还是繁芜的逐帧动画,都能够通过CSS来实现
设计一个有趣、都雅的动画,不仅要有好的创意,选择得当的速率曲线和动画时长也是极为主要的
在做平滑连续的动画时,不同的速率曲线可以实现不同的丰富效果,有时,一个普通的线性平移动画,只需改动利用得当的cubic-bezier()曲线,即可变成繁芜的回弹动画
动画时长对付动画而言也是相称主要的,如不同类型的动画就要利用不同的动画时长,如:按钮点击动画的时长最好设置在200-300ms之间,由于按钮点击是一个比较短暂的过程,设置太长会显得卡顿或者反应延迟,太短会看不出效果,一样平常情形下,普通人的反应韶光就在200-300ms之间
如下是一个测试反应韶光的网页,感兴趣的可以去试试
网址:https://reaction.ltgcm.top
连续探索和实践CSS动画,可以创造它的无限可能性,能够为你的设计作品注入新的活力和创意,无论是为按钮添加动态效果,还是为页面元素创建繁芜的交互动画,CSS动画都是不可或缺的利器