【金秋打卡】第6天 前端工程师学习笔记
2022/11/8 4:24:02
本文主要是介绍【金秋打卡】第6天 前端工程师学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程信息
课程名称:前端工程师
课程章节:过渡与动画
课程讲师:
课程内容:
过渡
过渡的基本使用
transition过渡
transition过渡属性是css3浓墨重彩的特性,过渡可以为一个元素在不同样式之间变化自动添加“补间动画”
兼容性
过渡从IE10开始兼容,移动端兼容良好
网页上的动画特效基本都是由javaScript定时器实现的,现在逐步改为css3过渡
优点:动画更细腻,内存开销小
transition属性基本使用
transition属性4要素
动画时长 延迟时间 transition: width 1s linear 0s; 需要过渡的属性 变化速度曲线(缓动参数)
可以参与过渡的属性:
所有数值类型的属性都可以参与过渡,比如width、height、left、top、boder-radius
背景颜色和文字颜色都可以被过渡
所有的变形(包括2D和3D)都能被过渡
all:如果要所有属性都参与过渡,可以写all
transition: all 1s linear 0s;
过渡的四个小属性
属性 意义 transition-property 哪些属性要过渡 transition-duration 动画时间 transition-timing-function 动画变化曲线(缓动效果) transition-delay 延迟时间 transform属性的覆盖问题
对同一个元素设置多个transform属性时,后面的transform会覆盖前面的,而不会叠加
假设元素初始时是旋转90deg,我们想要实现鼠标移入时,让其保持旋转状态向下运动100px,则需要如下这样写:
transform属性值书写顺序问题
如下代码,两个div的最终位置有差异
原因是元素旋转后,会改变轴线的方向
div2先旋转造成x轴也跟着旋转,方向如下:
此时再设置translate(300px),则是在旋转后的轴线上移动300px,如下:
而div1是先沿着水平的x轴移动300px,再旋转30deg
二者的轴线方向不同,所以最终效果也不同
过渡的缓动效果
缓动参数
transition的第三个参数就是缓动参数,也是变化速度曲线
常用缓动参数
贝塞尔曲线
网站https://cubic-bezier.com可以生成贝塞尔曲线,可以自定义动画缓存参数
transition:width 1s cubic-bezier(0.1, 0.7, 1.0, 0.1) 0s;
动画
动画的定义和调用
使用@keyframes来定义动画,keyframes表示“关键帧”,在项目上线前,要补上@-webkit-这样的私有前缀
@keyframes r{/* 定义动画 r-动画的名字*/ from{/* 起始状态 */ transform: rotate(0); } to{/* 结束状态 */ transform: rotate(360deg); } }
定义动画之后,就可以使用animation属性调用动画
animation: r 1s linear 0s; /* 动画名字 总时长 缓动效果 延迟 */
动画的执行次数
第五个参数就是动画的执行次数
animation: r 1s linear 0s 3;
infinite 永远执行
animation: r 1s linear 0s infinite;
alternate 让动画的第2、4、6……偶数次自动逆向执行
animation: r 1s linear 0s alternate;
forwards 让动画停止在最后结束状态
animation: r 1s linear 0s forwards;
多关键帧动画
@keyframes changeColor{ 0%{ background-color:red; } 20%{ background-color:yellow; } 40%{ background-color:blue; } 60%{ background-color:green; } 80%{ background-color:purple; } 100%{ background-color:orange; } }
这篇关于【金秋打卡】第6天 前端工程师学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15AntDesign项目实战:新手入门与初级应用教程
- 2024-11-15AntDesign-Form-rules项目实战:新手指南
- 2024-11-14ESLint课程:初学者指南
- 2024-11-14Form.List 动态表单课程:新手入门教程
- 2024-11-14Redux课程:新手入门完全指南
- 2024-11-13MobX 使用入门教程:轻松掌握前端状态管理
- 2024-11-12前端编程资料:新手入门指南与初级教程
- 2024-11-12前端开发资料入门指南
- 2024-11-12前端培训资料:适合新手与初级用户的简单教程
- 2024-11-12前端入门资料:新手必读指南