摸鱼不如来了解一下--CSS3动画

简介: CSS动画制作动画分两步(相当于类选择器,先定义好样式,再通过类名调用)

CSS动画


制作动画分两步(相当于类选择器,先定义好样式,再通过类名调用)


●   1.定义动画

网络异常,图片无法展示
|

●   keyframes意为关键帧。动画序列0%~100%也可以写成from···和to···。此外,动画序列不仅只能设置两个状态,可以实现多个状态变化,如:0%~25%~50%~75%~100%,这里的百分比是对总时间的划分

网络异常,图片无法展示
|


网络异常,图片无法展示
|

●   2.使用(调用)动画

网络异常,图片无法展示
|


动画的常见属性


animation-name规定动画的名称(必须)

animation-duration规定动画完成一个周期的时间(秒/毫秒)(必须)

animation-timing-function规定动画的速度曲线,默认值为ease

●   ease低速开始,然后加快,结束时变慢

●   linear匀速

●   ease-in低速开始

●   ease-out低速结束

●   ease-in-out低速开始和结束

●   steps()指定时间函数中的间隔数量(步长)

●   如设置steps(5),则动画将分5部完成

●   animation-delay规定动画何时开始,默认为0

●   animation-iteration-count规定动画的重复次数,默认为1,设置为infinite则无限循环

●   animation-direction规定动画是否反方向播放,默认为normal,设置为alternate则逆向播放

●   animation-fill-mode规定动画结束后的状态,默认为backwards回到初始状态,设置为forwards则保持在结束状态

●   animation-play-state规定动画是否正在进行或者暂停,默认是running。若设置paused,则动画停止不动,可以配合:hover来设置鼠标悬浮则停止

●   动画属性的简写-->animation: 动画名称 持续时间 运动曲线 何时开始播放次数 是否反方向 是否保持结束的状态

●   例:animation: move 1s linear 0s 1 alternate forwards

●   这其中动画名称和持续时间是必须写的属性,其他的可以保持默认


3D转换


网络异常,图片无法展示
|

网络异常,图片无法展示
|


3D位移translate3d(x,y,z),也可以对应坐标轴设置transform: translateX() translateY() translateZ(); 注意每个方向用空格隔开,但是不能分开单独写三个transform,以为后写的会覆盖前面的

●   注意:z轴的位移是看不到的,要加入透视perspective属性才能看到

3D旋转rotate3d(x,y,z,旋转角度),可以让元素在三维平面内沿着x轴、y轴、z轴或者自定义轴来旋转。x,y,z是旋转轴的矢量,表示是否沿着这条轴旋转(如 transform: rotate3d(1,0,0,45deg)表示沿着x轴旋转45度; transform: rotate3d(1,1,0,45deg)表示沿着对角线旋转45度)


   

网络异常,图片无法展示
|

网络异常,图片无法展示
|


●   判断元素沿x轴旋转时的正方向

网络异常,图片无法展示
|


●   判断元素沿y轴旋转时的正方向

网络异常,图片无法展示
|


透视perspective(单位为px),也叫视距,加了透视的页面元素在变化时就会呈现立体感(非常中要)

●   注意:透视要写在被观察元素的父盒子上面(通常写在body里)

●   透视是模拟人的眼睛,有近大远小的效果。当透视(视距)越小,元素到人眼的距离越小(越近),看到的元素就越大;视距越大,元素到人眼的距离越大(越远),看到的元素就越小。

●   当视距固定时,元素向z轴正向移动,就越来越大;元素向z轴负方向移动就越来越小


3D呈现transform-style(非常重要)

控制子元素是否开启三维立体环境

●   transform-style: flat; 默认值,不开启三维立体环境

●   transform-style: preserve-3d;开启子元素三维立体环境

●   注意:transform-style属性要写在父盒子内,影响的是子元素

做3D时,透视perspective和3D呈现transform-style: preserve-3d;必不可少!!!

注意!!!只要是写transform属性不管是2D还是3D,在同一个元素上使用时一定要用简写!如: transform: translate(x,y) rotate3d(x,y,z,deg);同时实现两种变化,不能拆开写两个transform,这样后面的transform会覆盖前面的,导致前面的失效

目录
相关文章
|
2月前
|
机器学习/深度学习 前端开发 JavaScript
|
28天前
纯css3实现的百分比渐变进度条加载动画源码
纯css3实现的百分比渐变进度条加载动画特效源码
54 31
|
2月前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
113 58
|
13天前
|
Web App开发 移动开发 JavaScript
纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码
这是一款基于纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码。画面中左下角是一个圆锥形礼炮卡通效果,呈现出节日庆祝时礼花爆破、五彩纸屑纷飞的动画特效。整体动画效果采用纯css3+svg实现,没有引入任何外部图形或js脚本元素。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
31 6
|
23天前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
50 7
|
28天前
CSS3制作的聚光灯下倒影文字选装动画特效源码
CSS3聚光灯下倒影文字特效是一段基于CSS3实现的聚光灯下带倒影的文字旋转动画效果代码,具有真实的视觉感,同时文字还会在旋转过程中显示出灯光的反射效果,很有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
29 6
|
1月前
|
移动开发 前端开发 JavaScript
除了 CSS3,还有哪些技术可以实现动画效果?
除了 CSS3,还有哪些技术可以实现动画效果?
53 5
|
28天前
纯css3加载loading发光变色动画代码
纯css3加载loading发光变色动画特效代码是一款基于css3 keyframes属性实现的发光变色圆点串联旋转loading加载动画
23 2
|
28天前
|
Web App开发 前端开发 iOS开发
CSS加载动画大全 126种
CSS加载动画大全是一个css Loaders加载动画特效汇总,一共包含126种加载动画效果,不同样式不同图案,简单实用,一览包含所有,会让你在等待的过程中,体验视觉盛宴,给用户不一般的加载体验,欢迎下载试试!代码适用浏览器:搜狗、360、FireFox(建议)、Chrome、Safari、Opera、傲游、世界之窗,是一款不错的的特效插件,希望大家喜欢!
26 2
|
29天前
|
JavaScript 前端开发
CSS3 动画和 JavaScript 动画的性能比较
具体的性能表现还会受到许多因素的影响,如动画的复杂程度、浏览器的性能、设备的硬件条件等。在实际应用中,需要根据具体情况选择合适的动画技术。