div+css实现三维立体手机立体城市建筑生长效果代码
代码语言:html
所属分类:其他
代码描述:div+css实现三维立体手机立体城市建筑生长效果代码
代码标签: div css 三维 立体 手机 立体 城市 建筑 生长
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { position: relative; margin: 0; min-height: 100vh; overflow: hidden; perspective: 200vmin; background: #484cef; } @keyframes blink { 0%, 6%, 100% { background-color: var(--c4); } 1%, 5% { background-color: var(--c3); } } @keyframes bounceMarker { 0%, 100% { transform: translateZ(0); } 50% { transform: translateZ(0.5em); } } @keyframes light { 25% { box-shadow: 0 0 2em 1em var(--c3); } 0%, 50%, 100% { box-shadow: 0 0 0 0 var(--c3); } } .phone { --c0: #141643; --c1: #484cef; --c2: #fffcdd; --c3: #f80; --c4: #ffea3b; --c5: #00a3f9; --t: 1s; font-size: 1vmin;10px; width: 30em; aspect-ratio: 67 / 138; color: var(--c0); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate3d(0, 0, 0, 90deg) rotate(0deg); transform-style: preserve-3d; transition: transform var(--t); atransform: translate(-50%, -50%) rotate3d(1, 0.65, -1, 90deg) rotate(30deg); pointer-events: none; &:has(input:checked) { transform: translate(-50%, -50%) rotate3d(0.7, 0.5, -1, 90deg) rotate(30deg); .shadow { transform: translate3d(-5em, 1em, -4em) scale(1.025); width: calc(100% + 4em); } .frame { box-shadow: -0.25em 0.25em var(--c1); &::before { border-radius: 4em 2em 2em 2em; } .main-button { box-shadow: -0.25em 0.25em 0 0 var(--c1); background-position: 0em 0; } .screen { box-shadow: inset -0.5em 0.5em var(--c1); .building { box-shadow: inset 0 0 0 0.5em var(--c2), inset -0.8em 0 var(--c0), inset 0 0.8em var(--c1); transform: translate(-50%, -50%) translateZ(var(--d)); transition-delay: var(--s); .side { transform: translate(-50%, -50%) translateZ(var(--dt)) scale(1.2); transition-delay: calc(var(--s) + 0.5s); } .antenna { transform: translate(-50%, -50%) translateZ(3.75em); transition-delay: calc(var(--s) + 2s); } } .building-shadow { transform: translate(-50%, -50%) scale(1.7, 1.4); transition-delay: var(--s); transform-origin: 100% 50%; &.building-shadow-3 { transform: translate(-50%, -50%) scale(1.6, 1.6); } } .marker-container { animation: bounceMarker 2s infinite; animation-delay: calc(var(--t) * 2); .marker { transform: rotate(45deg) rotate3d(-1, 1, 0, 90deg); transition-delay: var(--t); transition-timing-function: cubic-bezier(0.75, 0, 0.5, 1.5); box-shadow: -0.45em 0.1em var(--c4); } } .start-button { opacity: 0; transition-delay: 0s; pointer-events: none; } .close-button { opacity: 1; transition-delay: calc(var(--t) / 2); pointer-events: auto; } .trees { .tree { box-shadow: -0.5em 0 var(--c0); transition-delay: calc(var(--t) * 8); &::before, &::after { transform:translate(-50%, -50%) translateZ(var(--d)); transition-delay: calc(var(--t) * 8); } } } .dots { .dot { animation-name: blink; &::before, &::after { transition-duration: var(--t); transition-delay: calc(var(--t) * 2.25); } &::before { transform: translateZ(0.15em); } &::after { transform: translateZ(0.30em); } } } } } } & * { &, &::before,.........完整代码请登录后点击上方下载按钮下载查看
网友评论0