card-tabla
Aquí tienes el código con una tabla de cinco columnas dentro del card-body, explicado de la manera más sencilla posible:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Tarjeta con Tabla</title> </head> <style> /* Reset básico */ *{ margin: 0; padding: 0; } body{ background-color: #f0f0f0; } .container{ display: flex; justify-content: center; padding-top: 10px; } .card{ background-color: white; display: flex; flex-direction: column; width: 600px; /* Un poco más ancha para la tabla */ border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .card-header{ background-color: #f8f9fa; border-radius: 8px 8px 0 0; padding: 20px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #dee2e6; } .card-body{ padding: 30px 20px; background: white; display: flex; flex-direction: column; gap: 20px; /* Un poco más de espacio */ } /* =============================================== ESTILOS PARA LA TABLA DE 5 COLUMNAS =============================================== */ /* La tabla ocupa todo el ancho disponible */ .tabla-productos { width: 100%; border-collapse: collapse; /* Elimina espacios entre bordes */ font-family: Arial, sans-serif; } /* Estilo para las celdas de cabecera (th) y datos (td) */ .tabla-productos th, .tabla-productos td { border: 1px solid #dee2e6; /* Borde gris suave */ padding: 12px; /* Espacio interno */ text-align: left; /* Texto alineado a la izquierda */ } /* Estilo especial para la cabecera */ .tabla-productos th { background-color: #f8f9fa; /* Fondo gris claro */ font-weight: bold; /* Texto en negrita */ } /* Efecto "raya de cebra" en las filas (opcional, para mejor lectura) */ .tabla-productos tbody tr:nth-child(even) { background-color: #f8f9fa; /* Fondo gris muy claro en filas pares */ } /* Efecto hover al pasar el ratón (opcional) */ .tabla-productos tbody tr:hover { background-color: #e9ecef; /* Fondo un poco más oscuro al pasar el ratón */ } /* Los textos siguen centrados como antes */ .card-body p { width: 100%; text-align: center; } .card-body h2 { width: 100%; text-align: center; } /* El botón igual que antes */ .card-body button { align-self: flex-start; background-color: #0d6efd; color: white; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; font-size: 16px; } /* Pequeño ajuste para el footer */ .card-footer { background-color: #f8f9fa; padding: 15px 20px; border-top: 1px solid #dee2e6; border-radius: 0 0 8px 8px; text-align: center; color: #6c757d; } </style> <body> <div class="container"> <div class="card"> <div class="card-header"> <h1>Sotelo</h1> </div> <div class="card-body"> <h2>Lista de Productos</h2> <p>Productos disponibles en nuestra tienda</p> <!-- =============================================== TABLA DE 5 COLUMNAS - LA PARTE IMPORTANTE =============================================== --> <table class="tabla-productos"> <!-- Cabecera de la tabla (con 5 columnas) --> <thead> <tr> <th>ID</th> <th>Producto</th> <th>Categoría</th> <th>Precio</th> <th>Stock</th> </tr> </thead> <!-- Cuerpo de la tabla (datos) --> <tbody> <tr> <td>001</td> <td>Portátil Pro</td> <td>Informática</td> <td>899€</td> <td>15</td> </tr> <tr> <td>002</td> <td>Monitor 24"</td> <td>Periféricos</td> <td>199€</td> <td>8</td> </tr> <tr> <td>003</td> <td>Teclado Mecánico</td> <td>Periféricos</td> <td>89€</td> <td>23</td> </tr> <tr> <td>004</td> <td>Ratón Inalámbrico</td> <td>Periféricos</td> <td>29€</td> <td>42</td> </tr> <tr> <td>005</td> <td>Auriculares Gaming</td> <td>Audio</td> <td>59€</td> <td>11</td> </tr> </tbody> </table> <button>Ver catálogo completo</button> </div> <div class="card-footer"> Total de productos: 5 | Actualizado hoy </div> </div> </div> </body> </html>
Explicación sencilla de la tabla:
📊 Estructura de la tabla de 5 columnas:
<table> <thead> → Cabecera (títulos de las columnas) <tr> → Fila <th>ID</th> ← Columna 1 <th>Producto</th> ← Columna 2 <th>Categoría</th> ← Columna 3 <th>Precio</th> ← Columna 4 <th>Stock</th> ← Columna 5 </tr> </thead> <tbody> → Cuerpo (datos) <tr> → Fila 1 <td>001</td> ← Dato columna 1 <td>Portátil Pro</td> ← Dato columna 2 <td>Informática</td> ← Dato columna 3 <td>899€</td> ← Dato columna 4 <td>15</td> ← Dato columna 5 </tr> <!-- más filas... --> </tbody> </table>
🎨 CSS simplificado explicado:
| Propiedad | ¿Qué hace? |
|---|---|
width: 100% | La tabla ocupa todo el ancho de la tarjeta |
border-collapse: collapse | Junta los bordes para que no hayan dobles líneas |
border: 1px solid #dee2e6 | Añade un borde gris a cada celda |
padding: 12px | Espacio dentro de cada celda (más legible) |
text-align: left | Texto alineado a la izquierda (más natural para tablas) |
background-color | Colores de fondo para diferenciar cabecera y filas |
📝 Versión aún más simple (solo lo esencial):
Si quieres la tabla MÍNIMA para empezar, esto es todo lo que necesitas:
.tabla-simple { width: 100%; border-collapse: collapse; } .tabla-simple th, .tabla-simple td { border: 1px solid gray; padding: 8px; }
<table class="tabla-simple"> <tr> <th>Col1</th><th>Col2</th><th>Col3</th><th>Col4</th><th>Col5</th> </tr> <tr> <td>Dato1</td><td>Dato2</td><td>Dato3</td><td>Dato4</td><td>Dato5</td> </tr> </table>
¡Y eso es todo! La tabla se adapta automáticamente al ancho de la tarjeta y las 5 columnas se reparten el espacio disponible.
Comentarios
Publicar un comentario