Multimedia y Enlaces: Los caminos del ninja
“Un ninja sin camino es un ninja perdido. Un enlace roto es un camino hacia la nada.” - Proverbio del Código
🎯 Objetivo Ninja
Conectarás páginas con enlaces perfectos y añadirás multimedia optimizada. Dominarás rutas relativas vs absolutas.
🏯 Teoría: El Por Qué
La web es una red de caminos. Los enlaces (<a>) son portales entre páginas. Las imágenes (<img>) son el alma visual.
Sin enlaces: Cada página es una isla. Con enlaces: Construyes un imperio conectado.
⚔️ Implementación
Enlaces: El Portal del Ninja
<!-- Enlace básico -->
<a href="https://8devmx.com">Ir al Dojo</a>
<!-- Abrir en nueva pestaña -->
<a href="https://google.com" target="_blank">Google</a>
<!-- Enlace con título (tooltip) -->
<a href="/contacto" title="Contáctanos aquí">Contacto</a>
<!-- Enlace a email -->
<a href="mailto:ninja@8devmx.com">Enviar email</a>
<!-- Enlace a teléfono -->
<a href="tel:+525512345678">Llamar</a>
<!-- Ancla a sección (mismo página) -->
<a href="#mision">Ir a misión</a>
<!-- ... más abajo en la página -->
<h2 id="mision">Misión</h2>
Rutas: El Mapa del Ninja
Rutas Absolutas (URL completa):
<!-- Funciona SIEMPRE, pero depende del dominio -->
<a href="https://8devmx.com/rutas/index.html">Rutas</a>
<img src="https://8devmx.com/images/ninja.webp">
Rutas Relativas (desde el archivo actual):
<!-- Mismo directorio -->
<a href="contacto.html">Contacto</a>
<!-- Subdirectorio -->
<a href="blog/articulo-1.html">Artículo</a>
<!-- Directorio padre -->
<a href="../index.html">Inicio</a>
<!-- Desde raíz del proyecto -->
<a href="/about.html">About</a>
Estructura ejemplo:
proyecto/
├── index.html
├── contacto.html
├── blog/
│ ├── articulo-1.html
│ └── articulo-2.html
└── images/
└── logo.webp
Desde articulo-1.html:
<!-- Ir a index.html -->
<a href="../index.html">Inicio</a>
<!-- Ir a articulo-2.html (mismo directorio) -->
<a href="articulo-2.html">Siguiente</a>
<!-- Cargar logo -->
<img src="../images/logo.webp">
Imágenes: El Poder Visual
<!-- Imagen básica -->
<img src="ninja.webp" alt="Un ninja saltando">
<!-- Con dimensiones (mejora performance) -->
<img src="ninja.webp" alt="Un ninja" width="300" height="200">
<!-- Lazy loading (carga solo cuando está visible) -->
<img src="ninja.webp" alt="Un ninja" loading="lazy">
Atributo ALT (CRÍTICO):
<!-- ✅ BUENO -->
<img src="sasuke.webp" alt="Sasuke Uchiha activando Sharingan">
<!-- ❌ MALO -->
<img src="sasuke.webp" alt="imagen">
<img src="sasuke.webp" alt=""> <!-- Solo si es decorativa -->
¿Por qué ALT es sagrado?
- Accesibilidad: Lectores de pantalla lo leen
- SEO: Google indexa el texto
- Fallback: Si la imagen no carga, muestra el texto
Formatos de Imagen
<!-- JPG: Fotos, degradados (compresión con pérdida) -->
<img src="foto.webp" alt="Paisaje">
<!-- PNG: Transparencias, logos (sin pérdida) -->
<img src="logo.webp" alt="Logo 8devmx">
<!-- WebP: Moderno, ligero (50% menos peso) -->
<img src="ninja.webp" alt="Ninja">
<!-- SVG: Vectores, escalables (XML) -->
<img src="icon.svg" alt="Icono">
Picture: Imágenes Responsive
<picture>
<!-- Móvil -->
<source media="(max-width: 600px)" srcset="ninja-small.webp">
<!-- Tablet -->
<source media="(max-width: 1200px)" srcset="ninja-medium.webp">
<!-- Desktop -->
<source srcset="ninja-large.webp">
<!-- Fallback -->
<img src="ninja.webp" alt="Ninja en acción">
</picture>
Audio y Video
<!-- Audio -->
<audio controls>
<source src="jutsu.mp3" type="audio/mpeg">
Tu navegador no soporta audio.
</audio>
<!-- Video -->
<video width="640" height="360" controls>
<source src="entrenamiento.mp4" type="video/mp4">
<source src="entrenamiento.webm" type="video/webm">
Tu navegador no soporta video.
</video>
<!-- Con autoplay (muted es obligatorio) -->
<video autoplay muted loop>
<source src="background.mp4" type="video/mp4">
</video>
iframes: Embeber Contenido
<!-- YouTube -->
<iframe width="560" height="315"
src="https://www.youtube.com/embed/VIDEO_ID"
frameborder="0"
allowfullscreen>
</iframe>
<!-- Google Maps -->
<iframe
src="https://www.google.com/maps/embed?pb=..."
width="600"
height="450"
style="border:0;">
</iframe>
🎯 Reto Ninja
🖼️ Galería de Ninjas
Crea un archivo galeria-ninja.html con una estructura básica.
Añade una barra de navegación con enlaces a "Inicio", "Sobre Mí" y un enlace de ancla a "Contacto".
Inserta al menos dos imágenes de tus ninjas favoritos usando <figure> y <figcaption>.
Asegúrate de incluir el atributo alt descriptivo y loading="lazy" en las imágenes.
Embebe un video (puede ser local o de YouTube) con controles de reproducción.
Crea una sección de contacto con enlaces de mailto: y tel:.
🔓 Pergamino Oculto (Bonus)
Técnica 1: Rel=“noopener noreferrer”
<!-- SIN protección (riesgo de seguridad) -->
<a href="https://sitio-externo.com" target="_blank">Link</a>
<!-- CON protección ✅ -->
<a href="https://sitio-externo.com" target="_blank" rel="noopener noreferrer">
Link seguro
</a>
Evita: Que el sitio externo controle tu página original.
Técnica 2: Download Attribute
<!-- Descarga en vez de abrir -->
<a href="documento.pdf" download="mi-documento.pdf">
Descargar PDF
</a>
Técnica 3: Imágenes Optimizadas
<!-- Srcset: diferentes resoluciones -->
<img
src="ninja-300.webp"
srcset="ninja-300.webp 300w,
ninja-600.webp 600w,
ninja-1200.webp 1200w"
sizes="(max-width: 600px) 300px,
(max-width: 1200px) 600px,
1200px"
alt="Ninja en acción">
Técnica 4: Figure y Figcaption
<figure>
<img src="diagram.webp" alt="Diagrama de flujo">
<figcaption>
Figura 1: Proceso de autenticación ninja
</figcaption>
</figure>
✅ Checklist de Dominio
Pergamino del Explorador
Próximo Pergamino: Formularios - La puerta de entrada del guerrero (input, select, textarea).
¡Los caminos están despejados, ninja! Ahora conecta tu imperio. 🥷🌐