Introducción a HTML
HTML (HyperText Markup Language o Lenguaje de Marcas de Hipertexto) es el lenguaje estándar para crear páginas web.
Con HTML defines la estructura y el contenido de una página web mediante etiquetas.
¿Qué es HTML?
HTML significa HyperText Markup Language:
- HyperText (Hipertexto): texto que enlaza a otros textos (enlaces).
- Markup (Marcado): usas etiquetas para “marcar” el contenido.
- Language (Lenguaje): tiene su propia sintaxis y reglas.
Estructura básica de un documento HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Mi primera página</title>
</head>
<body>
<h1>¡Hola, mundo!</h1>
<p>Esta es mi primera página web.</p>
</body>
</html>
✅ Ejercicio:
Crea un archivo index.html con la estructura básica y ábrelo en tu navegador.
Etiquetas básicas
Encabezados
<h1>Encabezado principal</h1>
<h2>Subtítulo</h2>
<h3>Sub-subtítulo</h3>
<!-- ... hasta h6 -->
Párrafos y saltos de línea
<p>Este es un párrafo.</p>
<p>Otro párrafo.<br />Salto de línea dentro del mismo párrafo.</p>
Texto con formato
<strong>Negrita (importante)</strong>
<em>Cursiva (énfasis)</em>
<u>Subrayado</u>
<mark>Resaltado</mark>
<small>Texto pequeño</small>
<del>Tachado</del>
<ins>Insertado</ins>
<sub>Subíndice</sub> H<sub>2</sub>O
<sup>Superíndice</sup> x<sup>2</sup>
✅ Ejercicio:
Crea un párrafo con palabras en negrita, cursiva y resaltado.
Enlaces e imágenes
Enlaces (anchors)
<a href="https://ejemplo.com">Ir a Ejemplo</a>
<a href="https://ejemplo.com" target="_blank" rel="noopener">Abrir en nueva pestaña</a>
<a href="#seccion">Enlace interno a una sección</a>
<a href="mailto:correo@ejemplo.com">Enviar email</a>
<a href="tel:+34600000000">Llamar por teléfono</a>
Imágenes
<img src="imagen.jpg" alt="Descripción de la imagen" width="300" height="200" />
src: ruta de la imagen.alt: texto alternativo (accesibilidad y SEO).width/height: dimensiones (opcional, evita saltos de layout).
✅ Ejercicio:
Añade una imagen y un enlace que abra en nueva pestaña.
Listas
Lista desordenada (viñetas)
<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ul>
Lista ordenada (números)
<ol>
<li>Paso 1</li>
<li>Paso 2</li>
<li>Paso 3</li>
</ol>
Lista de definición
<dl>
<dt>HTML</dt>
<dd>Lenguaje de marcas para la web</dd>
<dt>CSS</dt>
<dd>Lenguaje de estilos</dd>
</dl>
✅ Ejercicio:
Crea una lista de tus 3 lenguajes favoritos y una lista ordenada con pasos para hacer un café.
Tablas
<table>
<thead>
<tr>
<th>Nombre</th>
<th>Edad</th>
<th>Ciudad</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ana</td>
<td>28</td>
<td>Madrid</td>
</tr>
<tr>
<td>Luis</td>
<td>35</td>
<td>Barcelona</td>
</tr>
</tbody>
</table>
<table>: contenedor de la tabla.<thead>: encabezado.<tbody>: cuerpo.<tr>: fila (table row).<th>: celda de encabezado.<td>: celda de datos.
✅ Ejercicio:
Crea una tabla con 3 columnas y 4 filas de datos inventados.
Formularios básicos
<form action="/enviar" method="POST">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" required />
<label for="email">Email:</label>
<input type="email" id="email" name="email" required />
<label for="mensaje">Mensaje:</label>
<textarea id="mensaje" name="mensaje" rows="4"></textarea>
<button type="submit">Enviar</button>
</form>
Tipos de input comunes
text,email,password,number,tel,urlcheckbox,radiodate,time,datetime-localfile,color,rangesubmit,reset,button
✅ Ejercicio:
Crea un formulario de contacto con nombre, email, asunto (select) y mensaje.
Elementos semánticos (HTML5)
HTML5 introdujo etiquetas con significado semántico para mejorar la accesibilidad y el SEO.
<header>Encabezado de la página o sección</header>
<nav>Navegación principal</nav>
<main>Contenido principal</main>
<article>Contenido independiente (artículo, post)</article>
<section>Sección temática</section>
<aside>Contenido lateral (sidebar)</aside>
<footer>Pie de página</footer>
Ejemplo de estructura semántica
<body>
<header>
<h1>Mi Blog</h1>
<nav>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#articulos">Artículos</a></li>
</ul>
</nav>
</header>
<main>
<article>
<header>
<h2>Título del artículo</h2>
</header>
<section>
<p>Contenido del artículo...</p>
</section>
<footer>
<small>Publicado el 2025-08-25</small>
</footer>
</article>
</main>
<aside>
<h3>Sobre mí</h3>
<p>Desarrollador web...</p>
</aside>
<footer>
<p>© 2025 Mi Blog</p>
</footer>
</body>
✅ Ejercicio:
Reescribe una página simple usando solo etiquetas semánticas (header, main, section, footer, etc.).
Multimedia
Audio
<audio controls>
<source src="audio.mp3" type="audio/mpeg" />
Tu navegador no soporta audio HTML5.
</audio>
Video
<video controls width="640" height="360" poster="portada.jpg">
<source src="video.mp4" type="video/mp4" />
Tu navegador no soporta video HTML5.
</video>
controls: muestra controles de reproducción.poster: imagen de portada antes de reproducir.
Buenas prácticas y cierre
- Usa siempre etiquetas semánticas en lugar de
<div>genéricos. - Incluye siempre
alten las imágenes. - Valida tu HTML con el validador W3C.
- Mantén una estructura limpia y bien indentada.
- Usa
langen<html>para declarar el idioma.
🎯 Proyecto final
Crea una página personal sencilla con:
- Un encabezado y un menú de navegación.
- Una sección con texto e imágenes.
- Una tabla y una lista.
- Un formulario de contacto.
- Estructura semántica completa (
header,main,footer,article,section, etc.).