Um projeto elegante de cronômetro em tempo real que combina uma interface analógica clássica com um visor digital moderno. Este projeto foi criado para exercitar a sincronização de tempo entre o sistema e a interface do usuário.
- Sincronização em Tempo Real: Atualização segundo a segundo baseada no horário do sistema local.
- Interface Dupla: Visualização analógica com ponteiros e visualização digital formatada.
- Correção Automática de Zero: Função para manter o formato
00:00:00mesmo em números menores que 10. - Design Glassmorphism: Fundo com efeito de vidro e desfoque utilizando
backdrop-filter.
O maior desafio técnico deste projeto foi converter o tempo (0-60) em graus de rotação (0-360).
- Cálculo de Segundo/Minuto:
((360 / 60) * tempo) - 90 - Cálculo de Hora:
((360 / 12) * hora) - 90 - Ponto de Rotação: Uso de
transform-origin: leftno CSS para que os ponteiros girem a partir do centro do relógio.
- HTML5: Estrutura dos marcadores e ponteiros.
- CSS3: Gradientes lineares, posicionamento absoluto e animações de rotação.
- JavaScript: Objeto
DateesetIntervalpara atualização contínua.
Bruno Machado de Almeida
Desenvolvedor Full Stack Júnior