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