tkop实现一款切蛋糕立体交互可爱蛋糕效果代码
代码语言:html
所属分类:动画
代码描述:tkop实现一款切蛋糕立体交互可爱蛋糕效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/tkop.js" data-tor-init="postpone"></script> <style> html, body { width: 100%; height: 100%; overflow: hidden; } .wrapper { display: flex; align-items: center; justify-content: center; perspective: 10000px; background-color: #fffded; font-size: clamp(1rem, 3vw, 1.5rem); width: 100%; height: 100%; } .cake { transform-style: preserve-3d; transform-origin: top; position: relative; } .cake::after { content: url("//repo.bfw.wiki/bfwrepo/svg/cake/smile.66ec8f86.svg"); position: absolute; width: 6em; top: 0; left: 0; display: block; transform: translate3d(-1em, 7em, -3em) rotateX(-90deg); transform-origin: center; pointer-events: none; } .piece { width: 4em; height: auto; position: relative; transform-style: preserve-3d; transform-origin: top; cursor: pointer; } .piece:not(:first-child) { position: absolute; top: 0; left: 0; } .top { position: relative; transform: scale(1.05); transform-origin: top; transform-style: preserve-3d; } .shadow { position: absolute; pointer-events: none; opacity: 0.3; filter: blur(2.5em); } .front { position: absolute; top: 100%; left: 0; width: 100%; transform: rotateX(-90deg); transform-origin: top; transform-style: preserve-3d; } .front img:first-child { position: absolute; transform: translateZ(3px) scaleX(1.05); width: 100%; } .left, .right { position: absolute; top: 100%; width: 7.7em; } .left { left: 0; transform: rotateZ(-75deg) rotateX(-90deg); transform-origin: top left; } .right { right: 0; transform: rotateZ(75deg) rotateX(-90deg); transform-origin: top right; } .strawberry { position: absolute; bottom: 0; left: 0; width: 1.5em; margin: auto; right: 0; transform-origin: bottom; transform-style: preserve-3d; transform: translate3d(0px, -1.8em, 0px) rotateX(-90deg); } .strawberry img:not(:first-child) { position: absolute; top: 0; left: 0; } .strawberry img:nth-child(1) { transform: rotateY(0deg); } .strawberry img:nth-child(2) { transform: rotateY(45deg); } .strawberry img:nth-child(3) { transform: rotateY(90deg); } .strawberry img:nth-child(4) { transform: rotateY(135deg); } .strawberry img:nth-child(5) { transform: rotateY(180deg); } .strawberry img:nth-child(6) { transform: rotateY(225deg); } .strawberry img:nth-child(7) { transform: rotateY(270deg); } .strawberry img:nth-child(8) { transform: rotateY(315deg); } .strawberry img:nth-child(9) { transform: rotateY(360deg); } .strawberry img:nth-child(10) { transform: rotateY(405deg); } .strawberry img:nth-child(11) { transform: rotateY(450deg); } .strawberry img:nth-child(12) { transform: rotateY(495deg); } </style> </head> <body translate="no"> <div class="wrapper" data-tor-group=" .piece => rotateZ(/+30/deg) translateZ(-100vh) animate:[translateZ(0em <5s, spring(30, 15), delay: /random(50, 500)/ms>)] hover:[translateZ(2em) @keep-shadow/+1/] click:translateZ(100vh) ; .shadow => translateZ(-10em) @keep-shadow/+1/:translateZ(-12em); &qu.........完整代码请登录后点击上方下载按钮下载查看
网友评论0