CSS3常用动画效果合集(最全),2024年最新阿里P8面试官都说太详细了

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

}

@-moz-keyframes bounceinR{

0%{opacity:0;-moz-transform:translateX(100px);}

60%{opacity:1;-moz-transform:translateX(-30px);}

80%{-moz-transform:translateX(10px);}

100%{-moz-transform:translateX(0);}

}

@-ms-keyframes bounceinR{

0%{opacity:0;-ms-transform:translateX(100px);}

60%{opacity:1;-ms-transform:translateX(-30px);}

80%{-ms-transform:translateX(10px);}

100%{-ms-transform:translateX(0);}

}

@keyframes bounceinR{

0%{opacity:0;transform:translateX(100px);}

60%{opacity:1;transform:translateX(-30px);}

80%{transform:translateX(10px);}

100%{transform:translateX(0);}

}

/* 弹入-从下 */

@-webkit-keyframes bounceinB{

0%{opacity:0;-webkit-transform:translateY(100px);}

60%{opacity:1;-webkit-transform:translateY(-30px);}

80%{-webkit-transform:translateY(10px);}

100%{-webkit-transform:translateY(0);}

}

@-moz-keyframes bounceinB{

0%{opacity:0;-moz-transform:translateY(100px);}

60%{opacity:1;-moz-transform:translateY(-30px);}

80%{-moz-transform:translateY(10px);}

100%{-moz-transform:translateY(0);}

}

@-ms-keyframes bounceinB{

0%{opacity:0;-ms-transform:translateY(100px);}

60%{opacity:1;-ms-transform:translateY(-30px);}

80%{-ms-transform:translateY(10px);}

100%{-ms-transform:translateY(0);}

}

@keyframes bounceinB{

0%{opacity:0;transform:translateY(100px);}

60%{opacity:1;transform:translateY(-30px);}

80%{transform:translateY(10px);}

100%{transform:translateY(0);}

}

/* 弹入-从左 */

@-webkit-keyframes bounceinL{

0%{opacity:0;-webkit-transform:translateX(-100px);}

60%{opacity:1;-webkit-transform:translateX(30px);}

80%{-webkit-transform:translateX(-10px);}

100%{-webkit-transform:translateX(0);}

}

@-moz-keyframes bounceinL{

0%{opacity:0;-moz-transform:translateX(-100px);}

60%{opacity:1;-moz-transform:translateX(30px);}

80%{-moz-transform:translateX(-10px);}

100%{-moz-transform:translateX(0);}

}

@-ms-keyframes bounceinL{

0%{opacity:0;-ms-transform:translateX(-100px);}

60%{opacity:1;-ms-transform:translateX(30px);}

80%{-ms-transform:translateX(-10px);}

100%{-ms-transform:translateX(0);}

}

@keyframes bounceinL{

0%{opacity:0;transform:translateX(-100px);}

60%{opacity:1;transform:translateX(30px);}

80%{transform:translateX(-10px);}

100%{transform:translateX(0);}

}

/* 弹出 */

@-webkit-keyframes bounceout{

0%{-webkit-transform:scale(1);}

25%{-webkit-transform:scale(0.95);}

50%{opacity:1;-webkit-transform:scale(1.1);}

100%{opacity:0;-webkit-transform:scale(0.3);}

}

@-moz-keyframes bounceout{

0%{-moz-transform:scale(1);}

25%{-moz-transform:scale(0.95);}

50%{opacity:1;-moz-transform:scale(1.1);}

100%{opacity:0;-moz-transform:scale(0.3);}

}

@-ms-keyframes bounceout{

0%{-ms-transform:scale(1);}

25%{-ms-transform:scale(0.95);}

50%{opacity:1;-ms-transform:scale(1.1);}

100%{opacity:0;-ms-transform:scale(0.3);}

}

@keyframes bounceout{

0%{transform:scale(1);}

25%{transform:scale(0.95);}

50%{opacity:1;transform:scale(1.1);}

100%{opacity:0;transform:scale(0.3);}

}

/* 弹出-向上*/

@-webkit-keyframes bounceoutT{

0%{-webkit-transform:translateY(0);}

20%{opacity:1;-webkit-transform:translateY(20px);}

100%{opacity:0;-webkit-transform:translateY(-100px);}

}

@-moz-keyframes bounceoutT{

0%{-moz-transform:translateY(0);}

20%{opacity:1;-moz-transform:translateY(20px);}

100%{opacity:0;-moz-transform:translateY(-100px);}

}

@-ms-keyframes bounceoutT{

0%{-ms-transform:translateY(0);}

20%{opacity:1;-ms-transform:translateY(20px);}

100%{opacity:0;-ms-transform:translateY(-100px);}

}

@keyframes bounceoutT{

0%{transform:translateY(0);}

20%{opacity:1;transform:translateY(20px);}

100%{opacity:0;transform:translateY(-100px);}

}

/* 弹出-向右*/

@-webkit-keyframes bounceoutR{

0%{-webkit-transform:translateX(0);}

20%{opacity:1;-webkit-transform:translateX(-20px);}

100%{opacity:0;-webkit-transform:translateX(100px);}

}

@-moz-keyframes bounceoutR{

0%{-moz-transform:translateX(0);}

20%{opacity:1;-moz-transform:translateX(-20px);}

100%{opacity:0;-moz-transform:translateX(100px);}

}

@-ms-keyframes bounceoutR{

0%{-ms-transform:translateX(0);}

20%{opacity:1;-ms-transform:translateX(-20px);}

100%{opacity:0;-ms-transform:translateX(100px);}

}

@keyframes bounceoutR{

0%{transform:translateX(0);}

20%{opacity:1;transform:translateX(-20px);}

100%{opacity:0;transform:translateX(100px);}

}

/* 弹出-向下 */

@-webkit-keyframes bounceoutB{

0%{-webkit-transform:translateY(0);}

20%{opacity:1;-webkit-transform:translateY(-20px);}

100%{opacity:0;-webkit-transform:translateY(100px);}

}

@-moz-keyframes bounceoutB{

0%{-moz-transform:translateY(0);}

20%{opacity:1;-moz-transform:translateY(-20px);}

100%{opacity:0;-moz-transform:translateY(100px);}

}

@-ms-keyframes bounceoutB{

0%{-ms-transform:translateY(0);}

20%{opacity:1;-ms-transform:translateY(-20px);}

100%{opacity:0;-ms-transform:translateY(100px);}

}

@keyframes bounceoutB{

0%{transform:translateY(0);}

20%{opacity:1;transform:translateY(-20px);}

100%{opacity:0;transform:translateY(100px);}

}

/* 弹出-向左 */

@-webkit-keyframes bounceoutL{

0%{-webkit-transform:translateX(0);}

20%{opacity:1;-webkit-transform:translateX(20px);}

100%{opacity:0;-webkit-transform:translateX(-100px);}

}

@-moz-keyframes bounceoutL{

0%{-moz-transform:translateX(0);}

20%{opacity:1;-moz-transform:translateX(20px);}

100%{opacity:0;-moz-transform:translateX(-100px);}

}

@-ms-keyframes bounceoutL{

0%{-ms-transform:translateX(0);}

20%{opacity:1;-ms-transform:translateX(20px);}

100%{opacity:0;-ms-transform:translateX(-100px);}

}

@keyframes bounceoutL{

0%{transform:translateX(0);}

20%{opacity:1;transform:translateX(20px);}

100%{opacity:0;transform:translateX(-200px);}

}

/* 转入 */

@-webkit-keyframes rotatein{

0%{opacity:0;-webkit-transform:rotate(-200deg);}

100%{opacity:1;-webkit-transform:rotate(0);}

}

@-moz-keyframes rotatein{

0%{opacity:0;-moz-transform:rotate(-200deg);}

100%{opacity:1;-moz-transform:rotate(0);}

}

@-ms-keyframes rotatein{

0%{opacity:0;-ms-transform:rotate(-200deg);}

100%{opacity:1;-ms-transform:rotate(0);}

}

@keyframes rotatein{

0%{opacity:0;transform:rotate(-200deg);}

100%{opacity:1;transform:rotate(0);}

}

/* 转入-从左上 */

@-webkit-keyframes rotateinLT{

0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0;}

100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}

}

@-moz-keyframes rotateinLT{

0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0;}

100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}

}

@-ms-keyframes rotateinLT{

0%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0;}

100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}

}

@keyframes rotateinLT{

0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;}

100%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

}

/* 转入-从左下 */

@-webkit-keyframes rotateineftB{

0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0;}

100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}

}

@-moz-keyframes rotateineftB{

0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0;}

100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}

}

@-ms-keyframes rotateineftB{

0%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0;}

100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}

}

@keyframes rotateineftB{

0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;}

100%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

}

/* 转入-从右上 */

@-webkit-keyframes rotateinRT{

0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0;}

100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}

}

@-moz-keyframes rotateinRT{

0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0;}

100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}

}

@-ms-keyframes rotateinRT{

0%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0;}

100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}

}

@keyframes rotateinRT{

0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;}

100%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

}

/* 转入-从右下*/

@-webkit-keyframes rotateinRB{

0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0;}

100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}

}

@-moz-keyframes rotateinRB{

0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0;}

100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}

}

@-ms-keyframes rotateinRB{

0%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0;}

100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}

}

@keyframes rotateinRB{

0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;}

100%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

}

/* 转出 */

@-webkit-keyframes rotateout{

0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1;}

100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0;}

}

@-moz-keyframes rotateout{

0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1;}

100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0;}

}

@-ms-keyframes rotateout{

0%{-ms-transform-origin:center center;-ms-transform:rotate(0);opacity:1;}

100%{-ms-transform-origin:center center;-ms-transform:rotate(200deg);opacity:0;}

}

@keyframes rotateout{

0%{transform-origin:center center;transform:rotate(0);opacity:1;}

100%{transform-origin:center center;transform:rotate(200deg);opacity:0;}

}

/* 转出-向左上 */

@-webkit-keyframes rotateoutLT{

0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}

100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0;}

}

@-moz-keyframes rotateoutLT{

0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}

100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0;}

}

@-ms-keyframes rotateoutLT{

0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}

100%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0;}

}

@keyframes rotateoutLT{

0%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;}

}

/* 转出-向左下 */

@-webkit-keyframes rotateoutLB{

0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}

100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0;}

}

@-moz-keyframes rotateoutLB{

0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}

100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0;}

}

@-ms-keyframes rotateoutLB{

0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}

100%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0;}

}

@keyframes rotateoutLB{

0%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;}

}

/* 转出-向右上 */

@-webkit-keyframes rotateoutRT{

0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}

100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0;}

}

@-moz-keyframes rotateoutRT{

0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}

100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0;}

}

@-ms-keyframes rotateoutRT{

0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}

100%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0;}

}

@keyframes rotateoutRT{

0%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;}

}

/* 转出-向右下 */

@-webkit-keyframes rotateoutBR{

0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}

100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0;}

}

@-moz-keyframes rotateoutBR{

0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}

100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0;}

}

@-ms-keyframes rotateoutBR{

0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}

100%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0;}

}

@keyframes rotateoutBR{

0%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;}

}

/* 翻转 */

@-webkit-keyframes flip{

0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out;}

40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out;}

50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in;}

80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(0.95);-webkit-animation-timing-function:ease-in;}

100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in;}

}

@-moz-keyframes flip{

0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out;}

40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out;}

50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in;}

80%{-moz-transform:perspective(400px) rotateY(360deg) scale(0.95);-moz-animation-timing-function:ease-in;}

100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in;}

}

@-ms-keyframes flip{

0%{-ms-transform:perspective(400px) rotateY(0);-ms-animation-timing-function:ease-out;}

40%{-ms-transform:perspective(400px) translateZ(150px) rotateY(170deg);-ms-animation-timing-function:ease-out;}

50%{-ms-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-ms-animation-timing-function:ease-in;}

80%{-ms-transform:perspective(400px) rotateY(360deg) scale(0.95);-ms-animation-timing-function:ease-in;}

100%{-ms-transform:perspective(400px) scale(1);-ms-animation-timing-function:ease-in;}

}

@keyframes flip{

0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out;}

40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out;}

50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in;}

80%{transform:perspective(400px) rotateY(360deg) scale(0.95);animation-timing-function:ease-in;}

100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in;}

}

/* 翻入-X轴 */

@-webkit-keyframes flipinX{

0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;}

40%{-webkit-transform:perspective(400px) rotateX(-10deg);}

70%{-webkit-transform:perspective(400px) rotateX(10deg);}

100%{-webkit-transform:perspective(400px) rotateX(0);opacity:1;}

}

@-moz-keyframes flipinX{

0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0;}

40%{-moz-transform:perspective(400px) rotateX(-10deg);}

70%{-moz-transform:perspective(400px) rotateX(10deg);}

100%{-moz-transform:perspective(400px) rotateX(0);opacity:1;}

}

@-ms-keyframes flipinX{

0%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0;}

40%{-ms-transform:perspective(400px) rotateX(-10deg);}

70%{-ms-transform:perspective(400px) rotateX(10deg);}

100%{-ms-transform:perspective(400px) rotateX(0);opacity:1;}

}

@keyframes flipinX{

0%{transform:perspective(400px) rotateX(90deg);opacity:0;}

40%{transform:perspective(400px) rotateX(-10deg);}

70%{transform:perspective(400px) rotateX(10deg);}

100%{transform:perspective(400px) rotateX(0);opacity:1;}

}

/* 翻入-Y轴 */

@-webkit-keyframes flipinY{

0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;}

40%{-webkit-transform:perspective(400px) rotateY(-10deg);}

70%{-webkit-transform:perspective(400px) rotateY(10deg);}

100%{-webkit-transform:perspective(400px) rotateY(0);opacity:1;}

}

@-moz-keyframes flipinY{

0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0;}

40%{-moz-transform:perspective(400px) rotateY(-10deg);}

70%{-moz-transform:perspective(400px) rotateY(10deg);}

100%{-moz-transform:perspective(400px) rotateY(0);opacity:1;}

}

@-ms-keyframes flipinY{

0%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0;}

40%{-ms-transform:perspective(400px) rotateY(-10deg);}

70%{-ms-transform:perspective(400px) rotateY(10deg);}

100%{-ms-transform:perspective(400px) rotateY(0);opacity:1;}

}

@keyframes flipinY{

0%{transform:perspective(400px) rotateY(90deg);opacity:0;}

40%{transform:perspective(400px) rotateY(-10deg);}

70%{transform:perspective(400px) rotateY(10deg);}

100%{transform:perspective(400px) rotateY(0);opacity:1;}

}

/* 翻出-X轴 */

@-webkit-keyframes flipoutX{

0%{-webkit-transform:perspective(400px) rotateX(0);opacity:1;}

100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;}

}

@-moz-keyframes flipoutX{

0%{-moz-transform:perspective(400px) rotateX(0);opacity:1;}

100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0;}

}

@-ms-keyframes flipoutX{

0%{-ms-transform:perspective(400px) rotateX(0);opacity:1;}

100%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0;}

}

@keyframes flipoutX{

0%{transform:perspective(400px) rotateX(0);opacity:1;}

100%{transform:perspective(400px) rotateX(90deg);opacity:0;}

}

/* 翻出-Y轴 */

@-webkit-keyframes flipoutY{

0%{-webkit-transform:perspective(400px) rotateY(0);opacity:1;}

100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;}

}

@-moz-keyframes flipoutY{

0%{-moz-transform:perspective(400px) rotateY(0);opacity:1;}

100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0;}

}

@-ms-keyframes flipoutY{

0%{-ms-transform:perspective(400px) rotateY(0);opacity:1;}

100%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0;}

}

@keyframes flipoutY{

0%{transform:perspective(400px) rotateY(0);opacity:1;}

100%{transform:perspective(400px) rotateY(90deg);opacity:0;}

}

/* 闪烁 */

@-webkit-keyframes flash{

0%,50%,100%{opacity:1;}

25%,75%{opacity:0;}

}

@-moz-keyframes flash{

0%,50%,100%{opacity:1;}

25%,75%{opacity:0;}

}

@-ms-keyframes flash{

0%,50%,100%{opacity:1;}

25%,75%{opacity:0;}

}

@keyframes flash{

0%,50%,100%{opacity:1;}

25%,75%{opacity:0;}

}

/* 震颤 */

@-webkit-keyframes shake{

0%,100%{-webkit-transform:translateX(0);}

10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);}

20%,40%,60%,80%{-webkit-transform:translateX(10px);}

}

@-moz-keyframes shake{

0%,100%{-moz-transform:translateX(0);}

10%,30%,50%,70%,90%{-moz-transform:translateX(-10px);}

20%,40%,60%,80%{-moz-transform:translateX(10px);}

}

@-ms-keyframes shake{

0%,100%{-ms-transform:translateX(0);}

10%,30%,50%,70%,90%{-ms-transform:translateX(-10px);}

20%,40%,60%,80%{-ms-transform:translateX(10px);}

}

@keyframes shake{

0%,100%{transform:translateX(0);}

10%,30%,50%,70%,90%{transform:translateX(-10px);}

20%,40%,60%,80%{transform:translateX(10px);}

}

/* 摇摆 */

@-webkit-keyframes swing{

20%{-webkit-transform:rotate(15deg);}

40%{-webkit-transform:rotate(-10deg);}

60%{-webkit-transform:rotate(5deg);}

80%{-webkit-transform:rotate(-5deg);}

100%{-webkit-transform:rotate(0);}

}

@-moz-keyframes swing{

20%{-moz-transform:rotate(15deg);}

40%{-moz-transform:rotate(-10deg);}

60%{-moz-transform:rotate(5deg);}

80%{-moz-transform:rotate(-5deg);}

100%{-moz-transform:rotate(0);}

}

@-ms-keyframes swing{

20%{-ms-transform:rotate(15deg);}

40%{-ms-transform:rotate(-10deg);}

60%{-ms-transform:rotate(5deg);}

80%{-ms-transform:rotate(-5deg);}

100%{-ms-transform:rotate(0);}

}

@keyframes swing{

20%{transform:rotate(15deg);}

40%{transform:rotate(-10deg);}

60%{transform:rotate(5deg);}

80%{transform:rotate(-5deg);}

100%{transform:rotate(0);}

}

/* 摇晃 */

@-webkit-keyframes wobble{

0%{-webkit-transform:translateX(0);}

15%{-webkit-transform:translateX(-100px) rotate(-5deg);}

30%{-webkit-transform:translateX(80px) rotate(3deg);}

45%{-webkit-transform:translateX(-65px) rotate(-3deg);}

60%{-webkit-transform:translateX(40px) rotate(2deg);}

75%{-webkit-transform:translateX(-20px) rotate(-1deg);}

100%{-webkit-transform:translateX(0);}

}

@-moz-keyframes wobble{

0%{-moz-transform:translateX(0);}

15%{-moz-transform:translateX(-100px) rotate(-5deg);}

30%{-moz-transform:translateX(80px) rotate(3deg);}

45%{-moz-transform:translateX(-65px) rotate(-3deg);}

60%{-moz-transform:translateX(40px) rotate(2deg);}

75%{-moz-transform:translateX(-20px) rotate(-1deg);}

100%{-moz-transform:translateX(0);}

}

@-ms-keyframes wobble{

0%{-ms-transform:translateX(0);}

15%{-ms-transform:translateX(-100px) rotate(-5deg);}

30%{-ms-transform:translateX(80px) rotate(3deg);}

45%{-ms-transform:translateX(-65px) rotate(-3deg);}

60%{-ms-transform:translateX(40px) rotate(2deg);}

75%{-ms-transform:translateX(-20px) rotate(-1deg);}

100%{-ms-transform:translateX(0);}

}

@keyframes wobble{

最后

编程基础的初级开发者,计算机科学专业的学生,以及平时没怎么利用过数据结构与算法的开发人员希望复习这些概念为下次技术面试做准备。或者想学习一些计算机科学的基本概念,以优化代码,提高编程技能。这份笔记都是可以作为参考的。

名不虚传!字节技术官甩出的"保姆级"数据结构与算法笔记太香了

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
form:translateX(80px) rotate(3deg);}

45%{-moz-transform:translateX(-65px) rotate(-3deg);}

60%{-moz-transform:translateX(40px) rotate(2deg);}

75%{-moz-transform:translateX(-20px) rotate(-1deg);}

100%{-moz-transform:translateX(0);}

}

@-ms-keyframes wobble{

0%{-ms-transform:translateX(0);}

15%{-ms-transform:translateX(-100px) rotate(-5deg);}

30%{-ms-transform:translateX(80px) rotate(3deg);}

45%{-ms-transform:translateX(-65px) rotate(-3deg);}

60%{-ms-transform:translateX(40px) rotate(2deg);}

75%{-ms-transform:translateX(-20px) rotate(-1deg);}

100%{-ms-transform:translateX(0);}

}

@keyframes wobble{

最后

编程基础的初级开发者,计算机科学专业的学生,以及平时没怎么利用过数据结构与算法的开发人员希望复习这些概念为下次技术面试做准备。或者想学习一些计算机科学的基本概念,以优化代码,提高编程技能。这份笔记都是可以作为参考的。

名不虚传!字节技术官甩出的"保姆级"数据结构与算法笔记太香了

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-NcTQCrgY-1713289035485)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值