WEBLEB
Inicio
Editora de código
Iniciar sesión
Pro
Español
English
Français
Español
Português
Deutsch
Italiano
हिंदी
Reloj de React hecho de componentes de relojes
72
codex
Abrir en el editor
Video
Publica tu código
0
Recomendado
29 July 2025
Listado de tarjetas de empresa con marca y marketing
5 June 2025
Un código de yuhhxn
9 September 2024
Campo de contraseña animado
HTML
Copy
Clock made of clocks
CSS
Copy
body { padding: 0; margin: 0; } *, *::before, *::after { box-sizing: border-box; } .app { --clock-size: 3vw; --gap: calc(var(--clock-size) * 0.05); --clock-segment-w: calc(var(--clock-size) * 4 + var(--gap) * 5); --clock-segment-h: calc(var(--clock-size) * 6 + var(--gap) * 5); font-family: sans-serif; text-align: center; display: flex; gap: var(--gap); align-items: center; justify-content: center; height: 100vh; padding-left: calc(var(--clock-size) + var(--gap) * 2); } .app > div { display: flex; flex-wrap: wrap; gap: var(--gap); width: var(--clock-segment-w); height: var(--clock-segment-h); } .app > div:nth-of-type(even) { margin-right: var(--clock-size); } .clock { --w: 47%; --h: 3px; --dur: 0.4s; position: relative; width: var(--clock-size); height: var(--clock-size); border-radius: 50%; flex-shrink: 0; border: 2px solid white; background: linear-gradient(225deg, #d0d0d0 10%, white); box-shadow: -2px 2px 6px #d0d0d0, 2px -2px 6px #ffffff; } .clock::before, .clock::after { position: absolute; content: ''; top: calc(50% - var(--h) * 0.5); left: 50%; transform-origin: 0% 50%; width: var(--w); height: var(--h); background: black; border-radius: 9999px; transition: calc(var(--dur) * 1s) ease-in-out; transform: rotate(calc(var(--angle) * 1deg)); } .clock::before { --angle: var(--hour-angle); } .clock::after { --angle: var(--minute-angle); } @media (max-width: 700px) { .clock { --h: 2px; border: 1px solid white; } } @media (max-width: 500px) { .clock { --h: 1px; --w: 50%; } }
JS
Copy
/* Replace with your JS Code (Leave empty if not needed) */