En este tema, aprenderemos cómo aplicar estilos a las tablas en HTML utilizando CSS. La estilización de tablas es crucial para mejorar la legibilidad y la presentación de los datos. Cubriremos conceptos básicos y avanzados para que puedas crear tablas visualmente atractivas y funcionales.
Conceptos Clave
- Selectores de Tablas en CSS: Cómo seleccionar elementos de tabla específicos para aplicar estilos.
- Propiedades de Estilo Comunes: Propiedades CSS que se utilizan frecuentemente para estilizar tablas.
- Estilización de Bordes: Cómo aplicar y personalizar bordes en tablas y celdas.
- Colores y Fondos: Aplicar colores de fondo y texto a tablas y celdas.
- Espaciado y Alineación: Ajustar el espaciado y la alineación del contenido dentro de las celdas.
Selectores de Tablas en CSS
Para estilizar tablas, utilizamos selectores CSS que nos permiten apuntar a elementos específicos de la tabla. Aquí hay algunos selectores comunes:
table: Selecciona toda la tabla.th: Selecciona todas las celdas de encabezado.td: Selecciona todas las celdas de datos.tr: Selecciona todas las filas de la tabla.
Ejemplo Básico
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Estilizando Tablas</title>
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
}
th {
background-color: #f2f2f2;
text-align: left;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
tr:hover {
background-color: #ddd;
}
</style>
</head>
<body>
<table>
<tr>
<th>Nombre</th>
<th>Edad</th>
<th>Ciudad</th>
</tr>
<tr>
<td>Juan</td>
<td>28</td>
<td>Madrid</td>
</tr>
<tr>
<td>Ana</td>
<td>22</td>
<td>Barcelona</td>
</tr>
<tr>
<td>Pedro</td>
<td>35</td>
<td>Valencia</td>
</tr>
</table>
</body>
</html>Explicación del Código
border-collapse: collapse;: Esta propiedad CSS se utiliza para colapsar los bordes de la tabla, eliminando el espacio entre ellos.border: 1px solid #ddd;: Aplica un borde sólido de 1 píxel de ancho y color gris claro a las celdas (thytd).padding: 8px;: Añade un relleno de 8 píxeles dentro de cada celda.background-color: #f2f2f2;: Establece un color de fondo gris claro para las celdas de encabezado (th).text-align: left;: Alinea el texto a la izquierda dentro de las celdas de encabezado.tr:nth-child(even) { background-color: #f9f9f9; }: Aplica un color de fondo diferente a las filas pares para mejorar la legibilidad.tr:hover { background-color: #ddd; }: Cambia el color de fondo de la fila cuando el cursor del ratón pasa sobre ella.
Propiedades de Estilo Comunes
Bordes
Puedes personalizar los bordes de las tablas y celdas utilizando las propiedades border, border-width, border-style, y border-color.
Colores y Fondos
Puedes aplicar colores de fondo y texto a las tablas y celdas utilizando background-color y color.
Espaciado y Alineación
Ajusta el espaciado y la alineación del contenido dentro de las celdas utilizando padding, text-align, y vertical-align.
Ejercicio Práctico
Ejercicio 1: Estilizar una Tabla de Productos
Crea una tabla que muestre una lista de productos con las siguientes columnas: Nombre del Producto, Precio, y Disponibilidad. Aplica los siguientes estilos:
- Bordes de 1 píxel de ancho y color gris claro.
- Color de fondo azul claro para las celdas de encabezado.
- Color de texto blanco para las celdas de encabezado.
- Relleno de 10 píxeles para todas las celdas.
- Color de fondo alternado para las filas.
- Color de fondo gris claro cuando el cursor del ratón pasa sobre una fila.
Solución
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tabla de Productos</title>
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 10px;
}
th {
background-color: #4CAF50;
color: white;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr:hover {
background-color: #ddd;
}
</style>
</head>
<body>
<table>
<tr>
<th>Nombre del Producto</th>
<th>Precio</th>
<th>Disponibilidad</th>
</tr>
<tr>
<td>Producto A</td>
<td>$10.00</td>
<td>En stock</td>
</tr>
<tr>
<td>Producto B</td>
<td>$15.00</td>
<td>Agotado</td>
</tr>
<tr>
<td>Producto C</td>
<td>$20.00</td>
<td>En stock</td>
</tr>
</table>
</body>
</html>Conclusión
En esta lección, hemos aprendido cómo aplicar estilos a las tablas en HTML utilizando CSS. Hemos cubierto selectores de tablas, propiedades de estilo comunes, y cómo personalizar bordes, colores, fondos, espaciado y alineación. Con estos conocimientos, puedes crear tablas visualmente atractivas y fáciles de leer.
En el próximo módulo, exploraremos cómo crear y manejar formularios en HTML, una herramienta esencial para la interacción del usuario en la web.
Curso de HTML
Módulo 1: Introducción a HTML
- ¿Qué es HTML?
- Configurando tu Entorno
- Estructura Básica de HTML
- Etiquetas y Elementos HTML
- Creando tu Primera Página HTML
Módulo 2: Formateo de Texto en HTML
- Encabezados y Párrafos
- Etiquetas de Formateo de Texto
- Listas: Ordenadas y Desordenadas
- Citas en Bloque y Texto Preformateado
Módulo 3: Enlaces y Medios en HTML
Módulo 4: Tablas en HTML
- Estructura Básica de una Tabla
- Encabezados y Pies de Tabla
- Unión de Celdas: Colspan y Rowspan
- Estilizando Tablas
Módulo 5: Formularios en HTML
- Creando un Formulario Básico
- Elementos del Formulario: Input, Textarea y Select
- Atributos y Validación del Formulario
- Enviando Formularios
Módulo 6: Elementos Semánticos de HTML5
Módulo 7: Técnicas Avanzadas de HTML
Módulo 8: Integración de HTML y CSS
- Vinculando CSS a HTML
- CSS en Línea, Interno y Externo
- Selectores Básicos de CSS
- Estilizando Elementos HTML
Módulo 9: Diseño Web Responsivo
- Introducción al Diseño Responsivo
- Etiqueta Meta del Viewport
- Consultas de Medios
- Imágenes y Videos Responsivos
Módulo 10: Mejores Prácticas y Accesibilidad
- Mejores Prácticas de HTML
- Conceptos Básicos de Accesibilidad Web
- Usando Roles ARIA
- Pruebas de Accesibilidad
