首页 前端知识 【HTML CSS JS 蝴蝶飞舞特效 绝美(附完整代码)】

【HTML CSS JS 蝴蝶飞舞特效 绝美(附完整代码)】

2024-05-12 00:05:07 前端知识 前端哥 651 666 我要收藏

<svg class=“wing left” viewBox=“0 0 50 100”

style="-webkit-animation-duration: .35s;

-moz-animation-duration: .35s;

-ms-animation-duration: .35s;

-o-animation-duration: .35s;

animation-duration: .35s;">

<svg class=“wing right” viewBox=“0 0 50 100”

style="-webkit-animation-duration: .35s;

-moz-animation-duration: .35s;

-ms-animation-duration: .53s;

-o-animation-duration: .35s;

animation-duration: .35s;">

style="margin-top: -250px; margin-left: 300px;

-webkit-animation-duration: 4s;

-moz-animation-duration: 4s;

-ms-animation-duration: 4s;

-o-animation-duration: 4s;

animation-duration: 4s;">

<svg class=“wing left” viewBox=“0 0 50 100”

style="-webkit-animation-duration: .45s;

-moz-animation-duration: .45s;

-ms-animation-duration: .45s;

-o-animation-duration: .45s;

animation-duration: .45s;">

<svg class=“wing right” viewBox=“0 0 50 100”

style="-webkit-animation-duration: .45s;

-moz-animation-duration: .45s;

-ms-animation-duration: .45s;

-o-animation-duration: .45s;

animation-duration: .45s;">

style.css

/**

  • MIXINS

*/

/* SYMBOLS */

/**

  • KEYFRAMES

*/

@-webkit-keyframes rotating {

0% {

-webkit-transform: rotate3d(0, 0, 0, 0deg);

-moz-transform: rotate3d(0, 0, 0, 0deg);

-ms-transform: rotate3d(0, 0, 0, 0deg);

-o-transform: rotate3d(0, 0, 0, 0deg);

transform: rotate3d(0, 0, 0, 0deg);

}

100% {

-webkit-transform: rotate3d(0, 1, 0, 720deg);

-moz-transform: rotate3d(0, 1, 0, 720deg);

-ms-transform: rotate3d(0, 1, 0, 720deg);

-o-transform: rotate3d(0, 1, 0, 720deg);

transform: rotate3d(0, 1, 0, 720deg);

}

}

@-moz-keyframes rotating {

0% {

-webkit-transform: rotate3d(0, 0, 0, 0deg);

-moz-transform: rotate3d(0, 0, 0, 0deg);

-ms-transform: rotate3d(0, 0, 0, 0deg);

-o-transform: rotate3d(0, 0, 0, 0deg);

transform: rotate3d(0, 0, 0, 0deg);

}

100% {

-webkit-transform: rotate3d(0, 1, 0, 720deg);

-moz-transform: rotate3d(0, 1, 0, 720deg);

-ms-transform: rotate3d(0, 1, 0, 720deg);

-o-transform: rotate3d(0, 1, 0, 720deg);

transform: rotate3d(0, 1, 0, 720deg);

}

}

@-ms-keyframes rotating {

0% {

-webkit-transform: rotate3d(0, 0, 0, 0deg);

-moz-transform: rotate3d(0, 0, 0, 0deg);

-ms-transform: rotate3d(0, 0, 0, 0deg);

-o-transform: rotate3d(0, 0, 0, 0deg);

transform: rotate3d(0, 0, 0, 0deg);

}

100% {

-webkit-transform: rotate3d(0, 1, 0, 720deg);

-moz-transform: rotate3d(0, 1, 0, 720deg);

-ms-transform: rotate3d(0, 1, 0, 720deg);

-o-transform: rotate3d(0, 1, 0, 720deg);

transform: rotate3d(0, 1, 0, 720deg);

}

}

@-o-keyframes rotating {

0% {

-webkit-transform: rotate3d(0, 0, 0, 0deg);

-moz-transform: rotate3d(0, 0, 0, 0deg);

-ms-transform: rotate3d(0, 0, 0, 0deg);

-o-transform: rotate3d(0, 0, 0, 0deg);

transform: rotate3d(0, 0, 0, 0deg);

}

100% {

-webkit-transform: rotate3d(0, 1, 0, 720deg);

-moz-transform: rotate3d(0, 1, 0, 720deg);

-ms-transform: rotate3d(0, 1, 0, 720deg);

-o-transform: rotate3d(0, 1, 0, 720deg);

transform: rotate3d(0, 1, 0, 720deg);

}

}

@keyframes rotating {

0% {

-webkit-transform: rotate3d(0, 0, 0, 0deg);

-moz-transform: rotate3d(0, 0, 0, 0deg);

-ms-transform: rotate3d(0, 0, 0, 0deg);

-o-transform: rotate3d(0, 0, 0, 0deg);

transform: rotate3d(0, 0, 0, 0deg);

}

100% {

-webkit-transform: rotate3d(0, 1, 0, 720deg);

-moz-transform: rotate3d(0, 1, 0, 720deg);

-ms-transform: rotate3d(0, 1, 0, 720deg);

-o-transform: rotate3d(0, 1, 0, 720deg);

transform: rotate3d(0, 1, 0, 720deg);

}

}

@-webkit-keyframes rotatingY {

100% {

-webkit-transform: rotateY(-360deg);

-moz-transform: rotateY(-360deg);

-ms-transform: rotateY(-360deg);

-o-transform: rotateY(-360deg);

transform: rotateY(-360deg);

}

}

@-moz-keyframes rotatingY {

100% {

-webkit-transform: rotateY(-360deg);

-moz-transform: rotateY(-360deg);

-ms-transform: rotateY(-360deg);

-o-transform: rotateY(-360deg);

transform: rotateY(-360deg);

}

}

@-ms-keyframes rotatingY {

100% {

-webkit-transform: rotateY(-360deg);

-moz-transform: rotateY(-360deg);

-ms-transform: rotateY(-360deg);

-o-transform: rotateY(-360deg);

transform: rotateY(-360deg);

}

}

@-o-keyframes rotatingY {

100% {

-webkit-transform: rotateY(-360deg);

-moz-transform: rotateY(-360deg);

-ms-transform: rotateY(-360deg);

-o-transform: rotateY(-360deg);

transform: rotateY(-360deg);

}

}

@keyframes rotatingY {

100% {

-webkit-transform: rotateY(-360deg);

-moz-transform: rotateY(-360deg);

-ms-transform: rotateY(-360deg);

-o-transform: rotateY(-360deg);

transform: rotateY(-360deg);

}

}

/**/

@-webkit-keyframes fluttering {

0%, 25%, 50%, 75%, 100% {

-webkit-transform: translate3d(0, 0, 0);

-moz-transform: translate3d(0, 0, 0);

-ms-transform: translate3d(0, 0, 0);

-o-transform: translate3d(0, 0, 0);

transform: translate3d(0, 0, 0);

}

10%, 60% {

-webkit-transform: translate3d(0, 150px, 0);

-moz-transform: translate3d(0, 150px, 0);

-ms-transform: translate3d(0, 150px, 0);

-o-transform: translate3d(0, 150px, 0);

transform: translate3d(0, 150px, 0);

}

30%, 80% {

-webkit-transform: translate3d(0, 50px, 0);

-moz-transform: translate3d(0, 50px, 0);

-ms-transform: translate3d(0, 50px, 0);

-o-transform: translate3d(0, 50px, 0);

transform: translate3d(0, 50px, 0);

}

}

@-moz-keyframes fluttering {

0%, 25%, 50%, 75%, 100% {

-webkit-transform: translate3d(0, 0, 0);

-moz-transform: translate3d(0, 0, 0);

-ms-transform: translate3d(0, 0, 0);

-o-transform: translate3d(0, 0, 0);

transform: translate3d(0, 0, 0);

}

10%, 60% {

-webkit-transform: translate3d(0, 150px, 0);

-moz-transform: translate3d(0, 150px, 0);

-ms-transform: translate3d(0, 150px, 0);

-o-transform: translate3d(0, 150px, 0);

transform: translate3d(0, 150px, 0);

}

30%, 80% {

-webkit-transform: translate3d(0, 50px, 0);

-moz-transform: translate3d(0, 50px, 0);

-ms-transform: translate3d(0, 50px, 0);

-o-transform: translate3d(0, 50px, 0);

transform: translate3d(0, 50px, 0);

}

}

@-ms-keyframes fluttering {

0%, 25%, 50%, 75%, 100% {

-webkit-transform: translate3d(0, 0, 0);

-moz-transform: translate3d(0, 0, 0);

-ms-transform: translate3d(0, 0, 0);

-o-transform: translate3d(0, 0, 0);

transform: translate3d(0, 0, 0);

}

10%, 60% {

-webkit-transform: translate3d(0, 150px, 0);

-moz-transform: translate3d(0, 150px, 0);

-ms-transform: translate3d(0, 150px, 0);

-o-transform: translate3d(0, 150px, 0);

transform: translate3d(0, 150px, 0);

}

30%, 80% {

-webkit-transform: translate3d(0, 50px, 0);

-moz-transform: translate3d(0, 50px, 0);

-ms-transform: translate3d(0, 50px, 0);

-o-transform: translate3d(0, 50px, 0);

transform: translate3d(0, 50px, 0);

}

}

@-o-keyframes fluttering {

0%, 25%, 50%, 75%, 100% {

-webkit-transform: translate3d(0, 0, 0);

-moz-transform: translate3d(0, 0, 0);

-ms-transform: translate3d(0, 0, 0);

-o-transform: translate3d(0, 0, 0);

transform: translate3d(0, 0, 0);

}

10%, 60% {

-webkit-transform: translate3d(0, 150px, 0);

-moz-transform: translate3d(0, 150px, 0);

-ms-transform: translate3d(0, 150px, 0);

-o-transform: translate3d(0, 150px, 0);

transform: translate3d(0, 150px, 0);

}

30%, 80% {

-webkit-transform: translate3d(0, 50px, 0);

-moz-transform: translate3d(0, 50px, 0);

-ms-transform: translate3d(0, 50px, 0);

-o-transform: translate3d(0, 50px, 0);

transform: translate3d(0, 50px, 0);

}

}

@keyframes fluttering {

0%, 25%, 50%, 75%, 100% {

-webkit-transform: translate3d(0, 0, 0);

-moz-transform: translate3d(0, 0, 0);

-ms-transform: translate3d(0, 0, 0);

-o-transform: translate3d(0, 0, 0);

transform: translate3d(0, 0, 0);

}

10%, 60% {

-webkit-transform: translate3d(0, 150px, 0);

-moz-transform: translate3d(0, 150px, 0);

-ms-transform: translate3d(0, 150px, 0);

-o-transform: translate3d(0, 150px, 0);

transform: translate3d(0, 150px, 0);

}

30%, 80% {

-webkit-transform: translate3d(0, 50px, 0);

-moz-transform: translate3d(0, 50px, 0);

-ms-transform: translate3d(0, 50px, 0);

-o-transform: translate3d(0, 50px, 0);

transform: translate3d(0, 50px, 0);

}

}

/**/

@-webkit-keyframes left-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

}

@-moz-keyframes left-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

}

@-ms-keyframes left-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

}

@-o-keyframes left-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

}

@keyframes left-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(1) rotate3d(0, 1, 0, 60deg);

}

}

@-webkit-keyframes right-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

}

@-moz-keyframes right-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

}

@-ms-keyframes right-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

}

@-o-keyframes right-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

}

@keyframes right-wing-flap {

0% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

50% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, -70deg);

}

100% {

-webkit-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-moz-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-ms-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

-o-transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

transform: translate3d(0, 0, 0) scaleX(-1) rotate3d(0, 1, 0, 60deg);

}

}

/**

*/

/**

  • SOURCE

*/

body {

width: 100%;

height: 100%;

overflow: hidden;

}

.background {

position: absolute;

width: 100%;

height: 100%;

}

.scene3d {

-webkit-perspective: 1000px;

-moz-perspective: 1000px;

-ms-perspective: 1000px;

-o-perspective: 1000px;

perspective: 1000px;

-webkit-perspective-origin: 50% 50%;

-moz-perspective-origin: 50% 50%;

-ms-perspective-origin: 50% 50%;

-o-perspective-origin: 50% 50%;

perspective-origin: 50% 50%;

position: absolute;

width: 100%;

height: 100%;

-webkit-transform-style: preserve-3d;

-moz-transform-style: preserve-3d;

-ms-transform-style: preserve-3d;

-o-transform-style: preserve-3d;

transform-style: preserve-3d;

}

.skybox.cube {

position: absolute;

left: 50%;

top: 50%;

width: 512px;

height: 512px;

margin-left: -256px;

margin-top: -256px;

-webkit-perspective-origin: 50% 50%;

-moz-perspective-origin: 50% 50%;

-ms-perspective-origin: 50% 50%;

-o-perspective-origin: 50% 50%;

perspective-origin: 50% 50%;

-webkit-transform-style: preserve-3d;

-moz-transform-style: preserve-3d;

-ms-transform-style: preserve-3d;

-o-transform-style: preserve-3d;

transform-style: preserve-3d;

-webkit-animation: rotatingY 40s linear infinite;

-moz-animation: rotatingY 40s linear infinite;

-ms-animation: rotatingY 40s linear infinite;

-o-animation: rotatingY 40s linear infinite;

animation: rotatingY 40s linear infinite;

}

.skybox.cube var.scale {

position: absolute;

left: 50%;

top: 50%;

width: 512px;

height: 512px;

margin-left: -256px;

margin-top: -256px;

-webkit-perspective-origin: 50% 50%;

-moz-perspective-origin: 50% 50%;

-ms-perspective-origin: 50% 50%;

-o-perspective-origin: 50% 50%;

perspective-origin: 50% 50%;

-webkit-transform-style: preserve-3d;

-moz-transform-style: preserve-3d;

-ms-transform-style: preserve-3d;

-o-transform-style: preserve-3d;

transform-style: preserve-3d;

-webkit-transform: rotate3d(0, 0, 1, 15deg) translate3d(0, 100px, 0) scale3d(4, 6, 4);

-moz-transform: rotate3d(0, 0, 1, 15deg) translate3d(0, 100px, 0) scale3d(4, 6, 4);

-ms-transform: rotate3d(0, 0, 1, 15deg) translate3d(0, 100px, 0) scale3d(4, 6, 4);

-o-transform: rotate3d(0, 0, 1, 15deg) translate3d(0, 100px, 0) scale3d(4, 6, 4);

transform: rotate3d(0, 0, 1, 15deg) translate3d(0, 100px, 0) scale3d(4, 6, 4);

}

.skybox.cube .face {

position: absolute;

left: 50%;

top: 50%;

width: 512px;

height: 512px;

margin-left: -256px;

margin-top: -256px;

-webkit-backface-visibility: hidden;

-moz-backface-visibility: hidden;

-ms-backface-visibility: hidden;

-o-backface-visibility: hidden;

backface-visibility: hidden;

}

.skybox.cube .face.front {

-webkit-transform: rotateY(0deg) translateZ(-256px);

-moz-transform: rotateY(0deg) translateZ(-256px);

-ms-transform: rotateY(0deg) translateZ(-256px);

-o-transform: rotateY(0deg) translateZ(-256px);

transform: rotateY(0deg) translateZ(-256px);

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/78881/clouds_front.jpg”);

}

.skybox.cube .face.back {

-webkit-transform: rotateY(180deg) translateZ(-256px);

-moz-transform: rotateY(180deg) translateZ(-256px);

-ms-transform: rotateY(180deg) translateZ(-256px);

-o-transform: rotateY(180deg) translateZ(-256px);

transform: rotateY(180deg) translateZ(-256px);

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/78881/clouds_back.jpg”);

}

.skybox.cube .face.right {

-webkit-transform: rotateY(-90deg) translateZ(-256px);

-moz-transform: rotateY(-90deg) translateZ(-256px);

-ms-transform: rotateY(-90deg) translateZ(-256px);

-o-transform: rotateY(-90deg) translateZ(-256px);

transform: rotateY(-90deg) translateZ(-256px);

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/78881/clouds_right.jpg”);

}

.skybox.cube .face.left {

-webkit-transform: rotateY(90deg) translateZ(-256px);

-moz-transform: rotateY(90deg) translateZ(-256px);

-ms-transform: rotateY(90deg) translateZ(-256px);

-o-transform: rotateY(90deg) translateZ(-256px);

transform: rotateY(90deg) translateZ(-256px);

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/78881/clouds_left.jpg”);

}

.skybox.cube .face.top {

-webkit-transform: rotateX(-90deg) translateZ(-256px);

-moz-transform: rotateX(-90deg) translateZ(-256px);

-ms-transform: rotateX(-90deg) translateZ(-256px);

-o-transform: rotateX(-90deg) translateZ(-256px);

transform: rotateX(-90deg) translateZ(-256px);

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/78881/clouds_top.jpg”);

}

.skybox.cube .face.bottom {

-webkit-transform: rotateX(90deg) translateZ(-256px);

-moz-transform: rotateX(90deg) translateZ(-256px);

-ms-transform: rotateX(90deg) translateZ(-256px);

-o-transform: rotateX(90deg) translateZ(-256px);

transform: rotateX(90deg) translateZ(-256px);

background-image: url(“https://s3-us-west-2.amazonaws.com/s.cdpn.io/78881/hazy_lake_top.jpg”);

background: none;

}

.butterfly_container {

position: absolute;

left: 50%;

top: 50%;

width: 100px;

height: 100px;

margin-left: -50px;

margin-top: -50px;

-webkit-transform-origin: 50% 50%;

-moz-transform-origin: 50% 50%;

-ms-transform-origin: 50% 50%;

-o-transform-origin: 50% 50%;

transform-origin: 50% 50%;

-webkit-transform-style: preserve-3d;

-moz-transform-style: preserve-3d;

-ms-transform-style: preserve-3d;

-o-transform-style: preserve-3d;

transform-style: preserve-3d;

-webkit-animation: rotatingY 10s linear infinite;

-moz-animation: rotatingY 10s linear infinite;

-ms-animation: rotatingY 10s linear infinite;

-o-animation: rotatingY 10s linear infinite;

animation: rotatingY 10s linear infinite;

}

.butterfly_container var {

position: absolute;

left: 50%;

top: 50%;

width: 100px;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

img

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

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

后记


总结一下这三次面试下来我的经验是:

  1. 一定不要死记硬背,要理解原理,否则面试官一深入就会露馅!

  2. 代码能力一定要注重,尤其是很多原理性的代码(之前两次让我写过Node中间件,Promise.all,双向绑定原理,被虐的怀疑人生)!

  3. 尽量从面试官的问题中表现自己知识的深度与广度,让面试官发现你的闪光点!

  4. 多刷面经!

我把所有遇到的面试题都做了一个整理,并且阅读了很多大牛的博客之后写了解析,免费分享给大家,算是一个感恩回馈吧,有需要的朋友【点击我】获取。祝大家早日拿到自己心怡的工作!

篇幅有限,仅展示部分内容



-o-animation: rotatingY 10s linear infinite;

animation: rotatingY 10s linear infinite;

}

.butterfly_container var {

position: absolute;

left: 50%;

top: 50%;

width: 100px;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

[外链图片转存中…(img-RELM5ugP-1712555835688)]

[外链图片转存中…(img-pQmvAjba-1712555835689)]

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

[外链图片转存中…(img-FPikFtIU-1712555835689)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

后记


总结一下这三次面试下来我的经验是:

  1. 一定不要死记硬背,要理解原理,否则面试官一深入就会露馅!

  2. 代码能力一定要注重,尤其是很多原理性的代码(之前两次让我写过Node中间件,Promise.all,双向绑定原理,被虐的怀疑人生)!

  3. 尽量从面试官的问题中表现自己知识的深度与广度,让面试官发现你的闪光点!

  4. 多刷面经!

我把所有遇到的面试题都做了一个整理,并且阅读了很多大牛的博客之后写了解析,免费分享给大家,算是一个感恩回馈吧,有需要的朋友【点击我】获取。祝大家早日拿到自己心怡的工作!

篇幅有限,仅展示部分内容



转载请注明出处或者链接地址:https://www.qianduange.cn//article/8214.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!