css实现灯泡摇摆点击点亮动画效果代码
代码语言:html
所属分类:动画
代码描述:css实现灯泡摇摆点击点亮动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
:root {
--shadow: #52595f;
--light: #838c95;
--light: #fff6d560;
--light: #ffff4e33;
--bulb: #f5dc7f;
--cone: #f1a863;
--cone2: #e2a164;
--cable: #d14b48;
}
body {
margin: 0;
padding: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
background: linear-gradient(180deg, #000, var(--shadow));
}
.content {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.lamp {
width: 400vw;
height: 400vh;
background: radial-gradient(circle at 50% 30%, var(--bulb) 0 3.5vmin, #fff0 calc(3.5vmin + 1px) 100%), conic-gradient(from 0deg at calc(50% - 2px) 50%, var(--cable) 0 25%, #fff0 0 100%), conic-gradient(from 119deg at 50% 49%, #fff0 1deg, var(--cone2) 2deg 12deg, var(--cone) 14deg 120deg, #fff0 121deg 100%), conic-gradient(from 119deg at 50% 50%, #fff0 1.5deg, var(--light) 2deg 120deg, #fff0 120.5deg 100%);
background-repeat: no-repeat;
background-size: 8vmin 6vmin, 4px 100%, 32vmin 19vmin, 400vw 400vh;
background-position: 50% calc(50% + 12.45vmin), 50% 50%, 50% 50%, 50% 50%;
transform-origin: 50% 0;
position: absolute;
top: -160vh;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.6s ease 0s;
transform: rotateY(180deg);
mix-blend-mode: hard-light;
animation: start 4s ease-in-out 0s 1;
}
@keyframes start {
0% {
transform: rotateY(180deg) translateY(-15vmin) rotate(-12deg);
}
30% {
transform: rotateY(180deg) translateY(-10vmin) rotate(12deg);
}
60% {
transform: rotateY(180deg) translateY(-5vmin) rotate(-6deg);
}
80% {
transform: rotateY(180deg) translateY(-2.5vmin) rotate(3deg);
}
100% {
transform: rotateY(180deg) translateY(0vmin) rotate(0deg);
}
}
.lamp:before {
content: "";
position: absolute;
width: 5vmin;
height: 3vmin;
background: var(--cable);
border-radius: 2vmin 2vmin 0 0;
margin-top: -0.7vmin;
}
.cam {
transform: translateZ(60vmin);
float: left;
width: 11.11%;
height: 11.11%;
z-index: 1;
position: relative;
}
.cam:nth-child(1):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(-24deg);
}
.cam:nth-child(2):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(-18deg);
}
.cam:nth-child(3):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(-12deg);
}
.cam:nth-child(4):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(-6deg);
}
.cam:nth-child(5):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(0deg);
}
.cam:nth-child(6):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(6deg);
}
.cam:nth-child(7):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(12deg);
}
.cam:nth-child(8):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(18deg);
}
.cam:nth-child(9):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-40vh) rotate(24deg);
}
.cam:nth-child(10):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(-24deg);
}
.cam:nth-child(11):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(-18deg);
}
.cam:nth-child(12):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(-12deg);
}
.cam:nth-child(13):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(-6deg);
}
.cam:nth-child(14):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(0deg);
}
.cam:nth-child(15):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(6deg);
}
.cam:nth-child(16):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(12deg);
}
.cam:nth-child(17):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(18deg);
}
.cam:nth-child(18):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-30vh) rotate(24deg);
}
.cam:nth-child(19):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-20vh) rotate(-24deg);
}
.cam:nth-child(20):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-20vh) rotate(-18deg);
}
.cam:nth-child(21):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-20vh) rotate(-12deg);
}
.cam:nth-child(22):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-20vh) rotate(-6deg);
}
.cam:nth-child(23):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-20vh) rotate(0deg);
}
.cam:nth-child(24):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-20vh) rotate(6deg);
}
.cam:nth-child(25):hover ~ .content .lamp {
transform: rotateY(180deg) translateY(-20vh) rotate(12deg);
}
.cam:nth-child(26):hover ~ .content .lamp {
transform: rotateY(180deg) transl.........完整代码请登录后点击上方下载按钮下载查看
网友评论0