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