Las animaciones web modernas ya no requieren de JavaScript para lograr efectos sorprendentes. En este tutorial, te mostraremos cómo se puede crear una divertida oveja animada usando únicamente HTML y CSS. Esta técnica es ideal para aprender a usar @keyframes, pseudo-elementos y propiedades CSS avanzadas.
🧩 Estructura del HTML
El código HTML es minimalista, pero bien estructurado. Utiliza un contenedor principal que alberga tres partes:
Oveja Animada by BitNauta
El número “404” se representa con dos elementos .four a los lados.
En el centro, se encuentra la oveja, dividida en cuerpo (.sheep) y cabeza (.head), con ojos y orejas animadas.
El estilo está basado en un sistema de variables CSS, lo cual permite adaptar el diseño a diferentes tamaños de pantalla con min(25vw, 25vh).
:root {
--size: min(25vw, 25vh);
--b-bg: #d0d2ca; /* color del cuerpo */
--c-bg: #585858; /* color de la cabeza y ojos */
}
El contenedor principal es el corazón del diseño. Aquí está su código:
body {
background: #19a39d;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
El body está centrado y ocupa toda la altura de la pantalla. Esto permite que la oveja siempre se vea en el centro del viewport.
.sheep {
background: var(--b-bg);
border-radius: 50%;
}
Se usa border-radius: 50% para crear un cuerpo circular. También se agregan sombras con box-shadow y pseudo-elementos para representar la lana.o.
.head {
animation: headMove 5s infinite;
}
La cabeza tiene una animación cíclica que la mueve de lado a lado, generando un efecto simpático y realista.
Cada ojo tiene un pseudo-elemento ::before que simula la pupila, y se le aplica una animación para que parezca que se mueve de forma natural.
@keyframes eyeMovement {
25% { transform: translate(-50%, 0.05em) rotate(45deg); }
}
Las orejas, a su vez, también se animan por separado con rotaciones suaves:
@keyframes rightEarMove { ... }
@keyframes leftEarMove { ... }
@keyframesCSS permite animar elementos con facilidad usando @keyframes. Este proyecto incluye varias animaciones sincronizadas:
headMove: movimiento de la cabeza.
eyeMovement: rotación de las pupilas.
eyeShade: parpadeo de ojos.
rightEarMove y leftEarMove: movimientos suaves de orejas.
Este proyecto de muestra cómo el CSS avanzado puede transformar un diseño simple en una experiencia visualmente impactante. Desde animaciones dinámicas hasta formas creativas, cada línea de código tiene un propósito específico que contribuye al resultado final.
BitNauta, Mayo 2025.