div+css实现理发店门口的旋转灯自定义调节效果代码
代码语言:html
所属分类:动画
代码描述:div+css实现理发店门口的旋转灯自定义调节效果代码
代码标签: div css实 理发店 门口 旋转灯 自定义 调节
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url("https://fonts.googleapis.com/css?family=Raleway:400,400i,700");
*, *::before, *::after {
padding: 0;
margin: 0 auto;
box-sizing: border-box;
}
:root {
/* consts: */
--pi: 3.1415926536;
--sideCount: 36; /* #num on .side elements on DOM */
}
body {
font-family: Raleway, sans-serif;
background-color: #111;
color: #fff;
min-height: 100vh;
display: grid;
place-items: center;
perspective: 400px;
}
.scene {
position: relative;
transform-style: preserve-3d;
-webkit-animation: sceneRotate 5s infinite linear;
animation: sceneRotate 5s infinite linear;
}
@-webkit-keyframes sceneRotate {
to { transform: rotateY(-360deg); }
}
@keyframes sceneRotate {
to { transform: rotateY(-360deg); }
}
.side {
/* calcs: */
--lineHeight: calc(var(--diameter) / 7 * var(--rLineHeight));
--sideWidth: calc(sin(180deg / var(--sideCount)) * var(--diameter));
--r: calc((var(--sideWidth) / 2) / tan(180 / var(--sideCount) * var(--pi) / 180));
--rotateY: calc(360deg * var(--ix) / var(--sideCount));
--bpy_unit: calc(var(--lineHeight) * -4 * var(--angle) / var(--sideCount));
--gradientAngle: asin(var(--bpy_unit) / var(--sideWidth));
--bpy: calc(var(--ix, 0) * tan(var(--gradientAngle)) * var(--sideWidth));
position: absolute;
left: calc(var(--sideWidth) * -0.5px); top: -25vh;
width: calc(var(--sideWidth) * 1px); height: 50vh;
background-image: repeating-linear-gradient(
var(--gradientAngle),
#0009 0 calc(var(--lineHeight) * 1px),
blue 0 calc(var(--lineHeight) * 2px),
#0009 0 calc(var(--lineHeight) * 3px),
red 0 calc(var(--lineHeight) * 4px)
);
transform: rotateY(var(--rotateY, 0)) translateZ(calc(var(--r) * 1px));
background-position: center calc(var(--bpy) * 1px);
background-size: 100% 1000%;
}
.inputs {
position: fixed;
left: 0; top: 0;
display: flex;
flex-d.........完整代码请登录后点击上方下载按钮下载查看
网友评论0