Maquetación Web Dinámica / SVG: dibujar y animar vectores
Reto: vectoriza un logo y hazlo dibujarse solo
El examen del módulo junta todo: mirar un logo, descomponerlo en formas, escribirlo como SVG con tus manos y hacer que se dibuje solo en pantalla. Es el ejercicio que más te va a enorgullecer del curso hasta ahora — porque el resultado se ve profesional y lo hiciste TÚ, coordenada por coordenada.
Reto
Tu logo, dibujándose solo
Qué debes construir
Elige un logo de formas simples (tuyo, de una marca que te guste, o inventa uno), vectorízalo a mano y anímalo para que se trace solo al cargar. Un ejemplo de referencia — la marca ficticia "Vértice":
<div class="marco">
<svg viewBox="0 0 100 100" width="170" height="170" role="img" aria-label="Logo de Vértice: un sol sobre una cordillera dentro de un marco redondeado">
<rect class="trazo marco-logo" pathLength="1" x="12" y="12" width="76" height="76" rx="16" fill="none" stroke="#a78bfa" stroke-width="3"/>
<circle class="trazo sol" pathLength="1" cx="50" cy="36" r="8" fill="none" stroke="#f59e0b" stroke-width="3"/>
<path class="trazo montana" pathLength="1" d="M 24 74 L 40 48 L 52 62 L 64 42 L 78 74" fill="none" stroke="#6d28d9" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
<p class="nota">Marco → sol → cordillera, en secuencia. Tres formas que se dibujan solas con un pequeño desfase entre ellas.</p>body { font-family: system-ui; padding: 20px; background: #f8fafc; }
.marco { display: grid; place-items: center; }
svg { background: white; border: 1px solid #e2e8f0; border-radius: 18px; padding: 10px; }
.trazo { stroke-dasharray: 1; stroke-dashoffset: 1; }
.marco-logo { animation: trazar 4s ease-in-out infinite; }
.sol { animation: trazar 4s ease-in-out 0.6s infinite; }
.montana { animation: trazar 4s ease-in-out 1.1s infinite; }
@keyframes trazar {
0% { stroke-dashoffset: 1; }
35%, 70% { stroke-dashoffset: 0; }
100% { stroke-dashoffset: 1; }
}
@media (prefers-reduced-motion: reduce) {
.trazo { animation: none; stroke-dashoffset: 0; }
}
.nota { font-size: 13px; color: #64748b; margin-top: 14px; max-width: 52ch; }Requisitos:
- Vectorizado a mano: el SVG lo escribes tú (primitivas y/o
<path>), con unviewBoxlimpio. Nada de pegar un export sin entenderlo — el punto es que domines cada coordenada. - Mínimo 3 elementos que se dibujen, con
pathLength="1"para no calcular longitudes. - Trazado escalonado: los elementos se dibujan en secuencia
(staggering con
animation-delay), no todos a la vez. - Accesible: el
<svg>conrole="img"y unaria-labelque describa el logo (un lector de pantalla no ve el dibujo). - Reduced-motion: sin animación, el logo queda COMPLETAMENTE dibujado y visible — nunca invisible.
Reglas
- SVG inline + CSS. Cero imágenes, cero JavaScript.
- Colores de la casa o los de tu marca, con contraste suficiente sobre el fondo.
- Formas de contorno (
fill="none"+stroke): el efecto se dibuja sobre el TRAZO, así que el logo debe poder expresarse como líneas. Un logo puramente relleno no se "dibuja" con esta técnica (nota honesta abajo).
60:00
Cuando estés listo, arranca el reloj.
Qué sigue
Módulo 12 cerrado: dibujas y animas vectores como un diseñador-desarrollador completo. El módulo 13 cambia radicalmente de herramienta y de mentalidad: del vector nítido e infinito al PÍXEL y al fotograma. Canvas, el game loop y tu primer videojuego 2D desde cero — la parte más divertida del curso te está esperando.