6 - HTML: Imágenes, tablas y formularios en HTML

Objetivos de aprendizaje
Al terminar esta lección, podrás:
Insertar imágenes en tu página web y manejar sus atributos básicos.
Construir tablas para mostrar datos organizados en filas y columnas.
Crear formularios para que los usuarios puedan ingresar datos.
Contenidos teóricos con ejemplos claros y explicativos
🖼️ Imágenes
Para agregar una imagen usamos la etiqueta <img>
. Es una etiqueta vacía (no tiene cierre) y requiere al menos el atributo src
(ruta de la imagen) y es recomendable agregar alt
(texto alternativo para accesibilidad).
<img src="ruta/de/la/imagen.jpg" alt="Descripción de la imagen" width="300">
src
: ruta o URL de la imagen.alt
: texto que describe la imagen, útil para lectores de pantalla o si la imagen no carga.width
yheight
: ancho y alto en píxeles o porcentaje para controlar tamaño.
📊 Tablas
Las tablas se crean con la etiqueta <table>
. Dentro van filas <tr>
que contienen celdas de encabezado <th>
o celdas de datos <td>
.
<table border="1">
<tr>
<th>Nombre</th>
<th>Edad</th>
</tr>
<tr>
<td>Ana</td>
<td>28</td>
</tr>
<tr>
<td>Carlos</td>
<td>32</td>
</tr>
</table>
border="1"
agrega un borde simple a la tabla para visualizarla (en producción se usa CSS para estilo).
📝 Formularios
Los formularios permiten capturar información del usuario. Usamos la etiqueta <form>
, que contiene controles como:
<input>
: para campos de texto, botones, checkbox, etc.<textarea>
: para textos largos.<select>
: lista desplegable.<button>
: para enviar el formulario.
Ejemplo básico:
<form action="procesar.php" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" required>
<label for="email">Correo electrónico:</label>
<input type="email" id="email" name="email" required>
<button type="submit">Enviar</button>
</form>
action
: URL o archivo que procesará el formulario.method
: método HTTP, generalmente "post" o "get".for
en<label>
conecta la etiqueta con el input mediante el id.
Código paso a paso (comentado)
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Imágenes, Tablas y Formularios</title>
</head>
<body>
<h1>Galería de Fotos</h1>
<img src="https://via.placeholder.com/200" alt="Imagen de ejemplo" width="200">
<!-- Imagen con fuente externa -->
<h2>Lista de usuarios</h2>
<table border="1">
<tr>
<th>Nombre</th>
<th>Edad</th>
<th>Email</th>
</tr>
<tr>
<td>Ana</td>
<td>28</td>
<td>ana@email.com</td>
</tr>
<tr>
<td>Carlos</td>
<td>32</td>
<td>carlos@email.com</td>
</tr>
</table>
<h2>Formulario de contacto</h2>
<form action="#" method="post">
<label for="nombre">Nombre:</label><br>
<input type="text" id="nombre" name="nombre" required><br><br>
<label for="email">Correo electrónico:</label><br>
<input type="email" id="email" name="email" required><br><br>
<label for="mensaje">Mensaje:</label><br>
<textarea id="mensaje" name="mensaje" rows="4" cols="40"></textarea><br><br>
<button type="submit">Enviar</button>
</form>
</body>
</html>
Resumen de los conceptos aprendidos
<img>
inserta imágenes, debe tenersrc
yalt
.Las tablas se organizan con
<table>
,<tr>
,<th>
y<td>
.Los formularios capturan datos con
<form>
y controles como<input>
,<textarea>
, y<button>
.El atributo
required
en inputs obliga a completar el campo antes de enviar.
Ejercicio práctico final basado en lo aprendido
Crea un archivo contacto.html
que incluya:
Un encabezado con el título “Contáctanos”.
Una imagen de un logo o icono (puede ser una URL externa).
Una tabla que liste 3 productos o servicios con columnas para nombre, descripción y precio.
Un formulario con los siguientes campos: nombre, correo, teléfono (opcional), mensaje.
Un botón para enviar el formulario.
Abre el archivo en tu navegador y prueba llenar el formulario (aunque no se enviará a un servidor, verifica que los campos requeridos funcionen).
Recomendaciones o tips adicionales
Usa siempre texto alternativo (
alt
) en imágenes para mejorar la accesibilidad.Evita usar tablas para diseño; solo úsalas para mostrar datos tabulares.
Los formularios pueden tener muchos tipos de controles, investiga más sobre
input
y sus tipos (checkbox
,radio
,password
,number
, etc.).Para la validación avanzada de formularios, se suele usar JavaScript, pero HTML5 ya ofrece validaciones básicas.
Subscribe to my newsletter
Read articles from Carlos BC directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Carlos BC
Carlos BC
Diseñador gráfico e ingeniero informático dedicado al desarrollo de software. Me considero un entusiasta del código y todo lo que tiene que ver con él, por lo mismo estoy en una constante búsqueda de conocimiento para ser un mejor programador.En el día a día suelo trabajar como fullstack, pero suelo tender más al frontend, actualmente trabajo con .net y blazor.