【月夜特效------附 效果+源代码】,2024年最新前端设计师面试问题

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

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

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

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

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

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

正文

80% {

-webkit-transform: translateX(0) translateY(-45px);

transform: translateX(0) translateY(-45px);

}

90% {

-webkit-transform: translateX(2.5px) translateY(-50px);

transform: translateX(2.5px) translateY(-50px);

}

100% {

-webkit-transform: translateX(0) translateY(-55px);

transform: translateX(0) translateY(-55px);

opacity: 0;

}

}

@-webkit-keyframes fireMid {

0% {

-webkit-transform: translateX(0) translateY(0);

transform: translateX(0) translateY(0);

opacity: 0.6;

}

10% {

-webkit-transform: translateX(2.5px) translateY(-10px);

transform: translateX(2.5px) translateY(-10px);

}

20% {

-webkit-transform: translateX(0) translateY(-20px);

transform: translateX(0) translateY(-20px);

}

30% {

-webkit-transform: translateX(-2.5px) translateY(-30px);

transform: translateX(-2.5px) translateY(-30px);

}

40% {

-webkit-transform: translateX(0) translateY(-40px);

transform: translateX(0) translateY(-40px);

}

50% {

-webkit-transform: translateX(2.5px) translateY(-50px);

transform: translateX(2.5px) translateY(-50px);

opacity: 0.1;

}

60% {

-webkit-transform: translateX(0) translateY(-60px);

transform: translateX(0) translateY(-60px);

}

70% {

-webkit-transform: translateX(-2.5px) translateY(-70px);

transform: translateX(-2.5px) translateY(-70px);

}

80% {

-webkit-transform: translateX(0) translateY(-80px);

transform: translateX(0) translateY(-80px);

}

90% {

-webkit-transform: translateX(2.5px) translateY(-90px);

transform: translateX(2.5px) translateY(-90px);

}

100% {

-webkit-transform: translateX(0) translateY(-100px);

transform: translateX(0) translateY(-100px);

opacity: 0;

}

}

@keyframes fireMid {

0% {

-webkit-transform: translateX(0) translateY(0);

transform: translateX(0) translateY(0);

opacity: 0.6;

}

10% {

-webkit-transform: translateX(2.5px) translateY(-10px);

transform: translateX(2.5px) translateY(-10px);

}

20% {

-webkit-transform: translateX(0) translateY(-20px);

transform: translateX(0) translateY(-20px);

}

30% {

-webkit-transform: translateX(-2.5px) translateY(-30px);

transform: translateX(-2.5px) translateY(-30px);

}

40% {

-webkit-transform: translateX(0) translateY(-40px);

transform: translateX(0) translateY(-40px);

}

50% {

-webkit-transform: translateX(2.5px) translateY(-50px);

transform: translateX(2.5px) translateY(-50px);

opacity: 0.1;

}

60% {

-webkit-transform: translateX(0) translateY(-60px);

transform: translateX(0) translateY(-60px);

}

70% {

-webkit-transform: translateX(-2.5px) translateY(-70px);

transform: translateX(-2.5px) translateY(-70px);

}

80% {

-webkit-transform: translateX(0) translateY(-80px);

transform: translateX(0) translateY(-80px);

}

90% {

-webkit-transform: translateX(2.5px) translateY(-90px);

transform: translateX(2.5px) translateY(-90px);

}

100% {

-webkit-transform: translateX(0) translateY(-100px);

transform: translateX(0) translateY(-100px);

opacity: 0;

}

}

@-webkit-keyframes fireBack {

0% {

-webkit-transform: translateX(0) translateY(0);

transform: translateX(0) translateY(0);

opacity: 0.8;

}

10% {

-webkit-transform: translateX(2.5px) translateY(-20px);

transform: translateX(2.5px) translateY(-20px);

}

20% {

-webkit-transform: translateX(0) translateY(-40px);

transform: translateX(0) translateY(-40px);

}

30% {

-webkit-transform: translateX(-2.5px) translateY(-60px);

transform: translateX(-2.5px) translateY(-60px);

}

40% {

-webkit-transform: translateX(0) translateY(-80px);

transform: translateX(0) translateY(-80px);

}

50% {

-webkit-transform: translateX(2.5px) translateY(-100px);

transform: translateX(2.5px) translateY(-100px);

opacity: 0.1;

}

60% {

-webkit-transform: translateX(0) translateY(-120px);

transform: translateX(0) translateY(-120px);

}

70% {

-webkit-transform: translateX(-2.5px) translateY(-140px);

transform: translateX(-2.5px) translateY(-140px);

}

80% {

-webkit-transform: translateX(0) translateY(-160px);

transform: translateX(0) translateY(-160px);

}

90% {

-webkit-transform: translateX(2.5px) translateY(-180px);

transform: translateX(2.5px) translateY(-180px);

}

100% {

-webkit-transform: translateX(0) translateY(-200px);

transform: translateX(0) translateY(-200px);

opacity: 0;

}

}

@keyframes fireBack {

0% {

-webkit-transform: translateX(0) translateY(0);

transform: translateX(0) translateY(0);

opacity: 0.8;

}

10% {

-webkit-transform: translateX(2.5px) translateY(-20px);

transform: translateX(2.5px) translateY(-20px);

}

20% {

-webkit-transform: translateX(0) translateY(-40px);

transform: translateX(0) translateY(-40px);

}

30% {

-webkit-transform: translateX(-2.5px) translateY(-60px);

transform: translateX(-2.5px) translateY(-60px);

}

40% {

-webkit-transform: translateX(0) translateY(-80px);

transform: translateX(0) translateY(-80px);

}

50% {

-webkit-transform: translateX(2.5px) translateY(-100px);

transform: translateX(2.5px) translateY(-100px);

opacity: 0.1;

}

60% {

-webkit-transform: translateX(0) translateY(-120px);

transform: translateX(0) translateY(-120px);

}

70% {

-webkit-transform: translateX(-2.5px) translateY(-140px);

transform: translateX(-2.5px) translateY(-140px);

}

80% {

-webkit-transform: translateX(0) translateY(-160px);

transform: translateX(0) translateY(-160px);

}

90% {

-webkit-transform: translateX(2.5px) translateY(-180px);

transform: translateX(2.5px) translateY(-180px);

}

100% {

-webkit-transform: translateX(0) translateY(-200px);

transform: translateX(0) translateY(-200px);

opacity: 0;

}

}

html, body {

margin: 0;

padding: 0;

height: 100%;

position: relative;

}

body {

background: #1a252f;

}

.container {

width: 100%;

height: 100%;

position: relative;

display: -webkit-box;

display: -ms-flexbox;

display: flex;

-webkit-box-orient: horizontal;

-webkit-box-direction: normal;

-ms-flex-direction: row;

flex-direction: row;

-ms-flex-wrap: nowrap;

flex-wrap: nowrap;

-webkit-box-pack: center;

-ms-flex-pack: center;

justify-content: center;

-webkit-box-align: center;

-ms-flex-align: center;

align-items: center;

z-index: 2;

}

.container .fire {

width: 320px;

min-width: 300px;

height: 320px;

min-height: 300px;

position: relative;

-webkit-animation: float 30s ease-in-out infinite;

animation: float 30s ease-in-out infinite;

}

.container .fire.debug {

border: 1px solid red;

}

.container .fire.debug .fire-front span,

.container .fire.debug .fire-mid span,

.container .fire.debug .fire-back span {

background: none;

border-radius: 0px;

border: 1px solid blue;

}

.container .fire.debug .fireplace {

border: 1px solid yellow;

}

.container .fire.debug .fireplace img {

display: none;

}

.container .fire .fire-front {

position: absolute;

width: 60px;

height: 120px;

bottom: 20px;

left: 50%;

margin-left: -30px;

z-index: 4;

}

.container .fire .fire-front span {

display: inline-block;

position: absolute;

bottom: 0px;

left: 50%;

width: 20px;

height: 20px;

margin-left: -10px;

border-radius: 50%;

opacity: 0;

background-color: #ecf0f1;

background: radial-gradient(ellipse at center, #ecf0f1 0%, #ecf0f1 25%, rgba(236, 240, 241, 0) 100%);

-webkit-transform: translateX(0) translateY(0);

transform: translateX(0) translateY(0);

-webkit-animation-name: fireFront;

animation-name: fireFront;

-webkit-animation-delay: 0.2s;

animation-delay: 0.2s;

-webkit-animation-duration: 0.2s;

animation-duration: 0.2s;

-webkit-animation-fill-mode: forwards;

animation-fill-mode: forwards;

-webkit-animation-iteration-count: infinite;

animation-iteration-count: infinite;

}

.container .fire .fire-mid {

position: absolute;

width: 100px;

height: 180px;

bottom: 15px;

left: 50%;

margin-left: -50px;

z-index: 3;

}

.container .fire .fire-mid span {

display: inline-block;

position: absolute;

bottom: 0px;

left: 50%;

width: 20px;

height: 20px;

margin-left: -10px;

border-radius: 50%;

opacity: 0;

background-color: #f1c40f;

background: radial-gradient(ellipse at center, #f1c40f 0%, #f1c40f 25%, rgba(241, 196, 15, 0) 100%);

-webkit-transform: translateX(0) translateY(0);

transform: translateX(0) translateY(0);

-webkit-animation-name: fireMid;

animation-name: fireMid;

-webkit-animation-delay: 0.2s;

animation-delay: 0.2s;

-webkit-animation-duration: 0.3s;

animation-duration: 0.3s;

-webkit-animation-fill-mode: forwards;

animation-fill-mode: forwards;

-webkit-animation-iteration-count: infinite;

animation-iteration-count: infinite;

}

.container .fire .fire-back {

position: absolute;

width: 140px;

height: 240px;

bottom: 5px;

left: 50%;

margin-left: -70px;

z-index: 2;

}

.container .fire .fire-back span {

display: inline-block;

position: absolute;

bottom: 0px;

left: 50%;

width: 20px;

height: 20px;

margin-left: -10px;

border-radius: 50%;

opacity: 0;

background-color: #e67e22;

background: radial-gradient(ellipse at center, #e67e22 0%, rgba(230, 126, 34, 0) 100%);

-webkit-transform: translateX(0) translateY(0);

transform: translateX(0) translateY(0);

-webkit-animation-name: fireBack;

animation-name: fireBack;

-webkit-animation-delay: 0.2s;

animation-delay: 0.2s;

-webkit-animation-duration: 0.6s;

animation-duration: 0.6s;

-webkit-animation-fill-mode: forwards;

animation-fill-mode: forwards;

-webkit-animation-iteration-count: infinite;

animation-iteration-count: infinite;

}

.container .fire .fireplace {

width: 300px;

height: 100px;

position: absolute;

bottom: -30px;

left: 10px;

z-index: 0;

}

.container .fire .fireplace > img {

width: 100%;

height: auto;

}

.background {

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/751678/background-fireplace.svg”);

background-repeat: no-repeat;

background-size: 1024px 800px;

background-position: center;

position: absolute;

top: 0;

left: -40px;

right: 0;

bottom: 0;

结束

一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!

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

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

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

.container .fire .fireplace > img {

width: 100%;

height: auto;

}

.background {

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/751678/background-fireplace.svg”);

background-repeat: no-repeat;

background-size: 1024px 800px;

background-position: center;

position: absolute;

top: 0;

left: -40px;

right: 0;

bottom: 0;

结束

一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!

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

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

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

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值