js+css实现滑动式显示时间走动效果代码
代码语言:html
所属分类:布局界面
代码描述:js+css实现滑动式显示时间走动效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap'> <style> * { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { --hue: 223; --bg: hsl(var(--hue),90%,90%); --fg: hsl(var(--hue),90%,10%); --primary: hsl(var(--hue),90%,50%); --trans-dur: 0.3s; font-size: calc(40px + (80 - 40) * (100vw - 320px) / (2560 - 320)); } body { background-color: var(--bg); color: var(--fg); display: flex; font: 1em/1.5 "Comfortaa", sans-serif; height: 100vh; transition: background-color var(--trans-dur), color var(--trans-dur); } .clock { display: flex; align-items: center; margin: auto; } .clock__colon, .clock__digits { line-height: 1; height: 1rem; text-align: center; } .clock__digits { font-variation-settings: "wght" 300; width: 2rem; } .clock__digits:nth-child(1), .clock__digits:nth-child(7) { transform: scale(0); } .clock__digits:nth-child(2), .clock__digits:nth-child(6) { transform: scale(0.33); } .clock__digits:nth-child(3), .clock__digits:nth-child(5) { transform: scale(0.67); } .clock__digits:nth-child(4) { font-variation-settings: "wght" 700; } .clock__digits:not(:nth-child(4)) { user-select: none; -moz-user-select: none; -webkit-user-select: none; } .clock__unit--rolling .clock__digits { animation: digitsMove1 0.3s ease-in-out; } .clock__unit--rolling .clock__digits:nth-child(2) { animation-name: digitsMove2; } .clock__unit--rolling .clock__digits:nth-child(3) { animation-name: digitsMove3; } .clock__unit--rolling .clock__digits:nth-child(4) { animation-name: digitsMove4; } .clock__unit--rolling .clock__digits:nth-child(5) { animation-name: digitsMove5; } .clock__unit--rolling .clock__digits:nth-child(6) { animation-name: digitsMove6; } .clock__unit--rolling .clock__digits:nth-child(7) { animation: none; } /* Dark theme */ @media (prefers-color-scheme: dark) { :root { --bg: hsl(var(--hue),90%,10%); --fg: hsl(var(--hue),90%,90%); } } /* Animations */ @keyframes digitsMove1 { from { transform: translateY(100%) scale(0.33); } to { transform: translateY(0) scale(0); } } @keyframes digitsMove2 { from { transform: translateY(100%) scale(0.67); } to { transform: translateY(0%) scale(0.33); } } @keyframes digitsMove3 { from { font-variation-settings: "wght" 700; transform: translateY(100%) scale(1); } to { font-variation-settings: "wght" 300; transform: translateY(0) scale(0.67); } } @keyframes digitsMove4 { from { font-variation-settings: "wght" 300; transform: translateY(100%) scale(0.67); } to { font-variation-settings: "wght" 700; transform: translateY(0) scale(1); } } @keyframes digitsMove5 { from { transform: translateY(100%) scale(0.33); } to { transform: translateY(0) scale(0.67); } } @keyframes digitsMove6 { from { transform: translateY(100%) scale(0); } to { transform: translateY(0) scale(0.33); } } </style> </head> <body> <div class="clock" aria-label="00:00:00"> <div class="clock__unit clock_unit--hr" aria-hidden="true" data-unit="h"> <div class="clock__digits" data-unit-pos>00</div> <div class="clock__digits" data-unit-pos>00</div> <div class="clock__digits" data-unit-pos>00</div> <div class="clock__digits" data-unit-pos>00</div> <div class="clock__digits" data-unit-pos>00</div> <div class="clock__digits" data-unit-pos>00</div> <div class="clock__d.........完整代码请登录后点击上方下载按钮下载查看
网友评论0