div+js实现精致时钟显示时间指针走动效果代码
代码语言:html
所属分类:其他
代码描述:div+js实现精致时钟显示时间指针走动效果代码
代码标签: div js 精致 时钟 显示 时间 指针 走动
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
/*-------------------------*\
|
| ***** GENERAL
|
\*-------------------------*/
html
{
width: 100%;
height: 100%;
}
body
{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: linear-gradient(-45deg, #200 0%, rgb(223, 44, 44) 100%);
font-family: 'Orbitron', sans-serif;
font-size: 16px;
cursor: default;
overflow: hidden;
user-select: none;
}
.clock
{
position: relative;
width: 400px;
height: 400px;
background: radial-gradient(circle at 25% 25%, #fff 0%, #ccc 50%, #666 100%);
border-radius: 100%;
box-shadow: 20px 20px 40px rgba(0, 0, 0, 0.75);
}
.clock .border.front
{
position: absolute;
top: -50px;
left: -50px;
filter: drop-shadow(7.5px 7.5px 2.5px rgba(0, 0, 0, 0.75));
}
.clock .border.side
{
position: absolute;
top: -47.5px;
left: -47.5px;
}
/*-------------------------*\
|
| ***** AXE
|
\*-------------------------*/
.clock .axe
{
position: absolute;
top: 50%;
left: 50%;
}
.clock .needle
{
position: absolute;
bottom: -2px;
left: -2px;
width: 4px;
border-radius: 20px;
transform-origin: 50% calc(100% - 2px);
transition: all 0.125s cubic-bezier(0, 0.75, 1, 1.5);
will-change: transform;
}
.clock .needle.hours
{
height: 100px;
background: #ccc;
transition: transform 0.25s ease-in-out;
}
.clock .needle.minutes
{
height: 150px;
background: #ccc;
}
.clock .needle.seconds
{
bottom: calc(-1px - 25px);
left: -1px;
width: 2px;
height: 150px;
background: #800;
transform-origin: 50% calc(100% - 1px - 25px);
}
.clock .needle.screw
{
bottom: -4px;
left: -4px;
width: 8px;
height: 8px;
background: #444;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.75);
transform-origin: 50% 50%;
box-shadow: 2.5px 2.5px 5px rgba(0, 0, 0, 0.75);
}
/*-------------------------*\
|
| ***** NUMBERS
|
\*-------------------------*/
.clock .numbers { color: #333; }
.clock .number
{
position: absolute;
top: 50%;
left: 50%;
}
.clock .number:nth-child(3n)
{
color: #800;
font-size: 24px;
}
.clock .number.number1 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 1)) translateY(-175px) rotateZ(calc(-360deg / 12 * 1)); }
.clock .number.number2 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 2)) translateY(-175px) rotateZ(calc(-360deg / 12 * 2)); }
.clock .number.number3 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 3)) translateY(-175px) rotateZ(calc(-360deg / 12 * 3)); }
.clock .number.number4 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 4)) translateY(-175px) rotateZ(calc(-360deg / 12 * 4)); }
.clock .number.number5 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 5)) translateY(-175px) rotateZ(calc(-360deg / 12 * 5)); }
.clock .number.number6 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 6)) translateY(-175px) rotateZ(calc(-360deg / 12 * 6)); }
.clock .number.number7 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 7)) translateY(-175px) rotateZ(calc(-360deg / 12 * 7)); }
.clock .number.number8 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 8)) translateY(-175px) rotateZ(calc(-360deg / 12 * 8)); }
.clock .number.number9 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 9)) translateY(-175px) rotateZ(calc(-360deg / 12 * 9)); }
.clock .number.number10 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 10)) translateY(-175px) rotateZ(calc(-360deg / 12 * 10)); }
.clock .number.number11 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 11)) translateY(-175px) rotateZ(calc(-360deg / 12 * 11)); }
.clock .number.number12 { transform: translate(-50%, -50%) rotateZ(calc(360deg / 12 * 12)) translateY(-175px) rotateZ(calc(-360deg / 12 * 12)); }
/*-------------------------*\
|
| ***** DOTS
|
\*-------------------------*/
.clock .dots
{
position: absolute;
top: 50%;
left: 50%;
}
.clock .space
{
position: absolute;
width: 3px;
height: 3px;
top: -1.5px;
left: -1.5px;
transform-origin: 50% .........完整代码请登录后点击上方下载按钮下载查看
网友评论0