gsap实现可配置拆解字牌翻转动画效果代码
代码语言:html
所属分类:动画
代码描述:gsap实现可配置拆解字牌翻转动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url('https://unpkg.com/normalize.css') layer(normalize);
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');
@layer normalize, base, demo, flip, explode;
@layer explode {
[data-explode='true'] {
.flip {
translate: 0 0;
}
.flip-debug div:nth-of-type(1),
.flip div:nth-of-type(1) {
translate: -120% -55%;
}
.flip-debug div:nth-of-type(2),
.flip div:nth-of-type(2) {
translate: 120% -55%;
}
.flip-debug div:nth-of-type(3),
.flip div:nth-of-type(3) {
translate: -120% 55%;
-webkit-backface-visibility: visible;
backface-visibility: visible;
}
.flip-debug div:nth-of-type(4),
.flip div:nth-of-type(4) {
translate: 120% 55%;
}
.flip-debug,
.flip-debug div {
opacity: 1;
}
.board {
transform: rotateX(-32deg) rotateY(32deg);
transition-delay: 0s;
}
.flip-debug,
.flip-debug div,
.flip div {
transition-delay: 0.6s;
}
.flip-debug,
.flip-debug div {
transition-delay: 0.6s, 1s;
}
.flip-debug div:nth-of-type(1)::after,
.flip-debug div:nth-of-type(3)::after {
content: 'next';
color: canvasText;
position: absolute;
right: calc(100% + 1rem);
}
.flip-debug div:nth-of-type(3)::after {
content: 'current';
}
}
[data-explode='true'] .flip {
perspective: 3.5em;
}
/* transitions */
.board {
transition: transform 0.5s;
transition-property: transform;
transition-duration: 0.5s;
transition-timing-function: ease-out;
transition-delay: 1s;
}
.flip-debug,
.flip-debug div,
.flip div {
transition-property: translate, opacity;
transition-duration: 0.5s;
transition-timing-function: ease-out;
transition-delay: 0.4s, 0s;
}
.board {
position: relative;
transform-style: preserve-3d;
}
.flip-debug,
.flip-debug div {
pointer-events: none;
position: absolute;
outline-offset: 2px;
inset: 6px;
z-index: -1;
opacity: 0;
}
.flip-debug::after {
content: '';
inset: -6px;
outline: 2px dashed canvasText;
position: absolute;
}
.flip-debug div,
.flip-debug::after {
outline: 2px dashed canvasText;
}
.flip-debug div {
inset: 0;
}
}
@layer flip {
/* map 0-180 against a brightness range */
.flip div:nth-of-type(1) {
/* 0-90 will be 0-1 */
filter: brightness(calc(1 / 90 * clamp(0, var(--flipped), 90)));
}
.fli.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0