css+js实现木质条纹挂壁式时钟时针走动效果代码
代码语言:html
所属分类:其他
代码描述:css+js实现木质条纹挂壁式时钟时针走动效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css2?family=Lato:wght@400&display=swap&text=1234567890abcdehmnorsuw" rel="stylesheet">
<style>
:root {
--hour: 0deg;
--minute: 0deg;
--second: 0deg;
}
html,
body {
height: 100%;
}
body {
background-color: #303f9f;
display: grid;
font-family: "Lato", sans-serif;
margin: 0;
place-items: center;
}
.clock {
background-color: #b7b19e;
background-image: linear-gradient(#815f28, #815f28), url(//repo.bfw.wiki/bfwrepo/image/6219d44222d38.png);
background-size: cover;
background-blend-mode: saturation;
display: grid;
height: 90vmin;
place-items: center;
}
.clock, .clock__inner {
aspect-ratio: 1/1;
border-radius: 100%;
}
.clock__center {
aspect-ratio: 1/1;
background: #6d4c41 url(//repo.bfw.wiki/bfwrepo/image/6219d450874d6.png);
background-blend-mode: overlay;
background-size: cover;
border-radius: 100%;
bottom: 0;
box-shadow: 0 0 0 0.67vmin #000;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
width: 25%;
z-index: 20;
}
.clock__divider {
background-color: #000;
height: 100%;
left: 0;
margin: auto;
position: absolute;
right: 0;
width: 0.67vmin;
z-index: 10;
}
.clock__divider:nth-child(1) {
transform: rotate(calc((90deg / 3 * 0) + 45deg));
}
.clock__divider:nth-child(2) {
transform: rotate(calc((90deg / 3 * 1) + 45deg));
}
.clock__divider:nth-child(3) {
transform: rotate(calc((90deg / 3 * 2) + 45deg));
}
.clock__divider:nth-child(4) {
transform: rotate(calc((90deg / 3 * 3) + 45deg));
}
.clock__divider:nth-child(5) {
transform: rotate(calc((90deg / 3 * 4) + 45deg));
}
.clock__divider:nth-child(6) {
transform: rotate(calc((90deg / 3 * 5) + 45deg));
}
.clock__gear {
aspect-ratio: 1/1;
background-color: #b7b19e;
background-image: radial-gradient(#190f0f 48%, transparent 50%), linear-gradient(to right, transparent, #0003 50%, transparent 50%), url(//repo.bfw.wiki/bfwrepo/image/6219d44222d38.png);
border-radius: 100%;
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
transform: rotate(var(--minute));
width: 3.75vmin;
z-index: 50;
}
.clock__hour, .clock__minute, .clock__second {
background: linear-gradient(to right, transparent, #0003 50%, transparent 50%), url(//repo.bfw.wiki/bfwrepo/image/6219d44222d38.png);
background-color: #c9c4b6;
left: 0;
margin: auto;
position: absolute;
right: 0;
transform-origin: bottom center;
width: 3vmin;
}
.clock__hour::before, .clock__minute::before, .clock__second::before {
background: linear-gradient(to right, transparent, #0003 50%, transparent 50%), url(//repo.bfw.wiki/bfwrepo/image/6219d44222d38.png);
background-color: #c9c4b6;
bottom: -10%;
content: "";
position: absolute;
height: 10%;
width: 100%;
}
.clock__hour {
clip-path: polygon(10% 40%, 50% calc(40% - 2vmin), 90% 40%, 100% calc(110% - 2vmin), 50% 110%, 0 calc(110% - 2vmin), 0 110%);
height: 50%;
top: 0;
transform: rotate(var(--hour));
z-index: 40;
}
.clock__inner {
background-blend-mode: overlay;
background-position: center center;
background-size: 200%;
box-shadow: inset 0 1vmax 10vmax;
font-size: 8vmin;
line-height: 1;
position: relative;
width: calc(100% - 3vmin);
}
.clock__minute {
clip-path: polygon(10% 15%, 50% calc(15% - 2vmin), 90% 15%, 100% calc(110% - 2vmin), 50% 110%, 0 calc(110% - 2vmin), 0 110%);
height: 50%;
top: 0;
transform: rotate(var(--minute));
z-index: 30;
}
.clock__numerals {
aspect-ratio: 1/1;
border-radius: 100%;
overflow: hidden;
position: relative;
width: 100%;
}
.clock__number {
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0