En aquest tema, aprendrem com aplicar estils a les taules HTML per fer-les més atractives i fàcils de llegir. Utilitzarem CSS per personalitzar l'aparença de les taules, incloent-hi els encapçalaments, files, columnes i cel·les.
Conceptes Clau
- Selectors CSS per a taules: Aprendrem com seleccionar elements específics de la taula per aplicar estils.
- Estilització bàsica: Aplicarem estils bàsics com colors de fons, marges, i padding.
- Estilització avançada: Utilitzarem pseudo-classes per estilitzar files alternes i altres elements dinàmics.
- Taules responsives: Veurem com fer que les taules siguin responsives per a diferents dispositius.
Selectors CSS per a Taules
Els selectors CSS ens permeten aplicar estils específics a diferents parts de la taula. A continuació es mostren alguns dels selectors més comuns:
table: Selecciona tota la taula.th: Selecciona totes les cel·les d'encapçalament.td: Selecciona totes les cel·les de dades.tr: Selecciona totes les files.thead: Selecciona la secció d'encapçalament de la taula.tbody: Selecciona el cos de la taula.tfoot: Selecciona el peu de la taula.
Estilització Bàsica
Comencem amb alguns estils bàsics per a la taula:
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Estilitzant Taules</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>
<thead>
<tr>
<th>Nom</th>
<th>Edat</th>
<th>Ciutat</th>
</tr>
</thead>
<tbody>
<tr>
<td>Anna</td>
<td>28</td>
<td>Barcelona</td>
</tr>
<tr>
<td>Joan</td>
<td>34</td>
<td>València</td>
</tr>
<tr>
<td>Maria</td>
<td>22</td>
<td>Madrid</td>
</tr>
</tbody>
</table>
</body>
</html>Explicació del Codi
table { width: 100%; border-collapse: collapse; }: Fa que la taula ocupi el 100% de l'ample del contenidor i elimina els espais entre les cel·les.th, td { border: 1px solid #ddd; padding: 8px; }: Aplica un marge i un padding a les cel·les de la taula.th { background-color: #f2f2f2; text-align: left; }: Estilitza les cel·les d'encapçalament amb un color de fons i alineació de text.tr:nth-child(even) { background-color: #f9f9f9; }: Aplica un color de fons diferent a les files parells per millorar la llegibilitat.tr:hover { background-color: #ddd; }: Canvia el color de fons de la fila quan el ratolí passa per sobre.
Estilització Avançada
Podem utilitzar pseudo-classes i altres tècniques per aplicar estils més avançats:
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
}
th {
background-color: #4CAF50;
color: white;
text-align: left;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr:hover {
background-color: #ddd;
}
td:first-child {
font-weight: bold;
}
td:last-child {
text-align: right;
}
</style>Explicació del Codi
td:first-child { font-weight: bold; }: Fa que el text de la primera cel·la de cada fila sigui en negreta.td:last-child { text-align: right; }: Alinea el text de l'última cel·la de cada fila a la dreta.
Taules Responsives
Per fer que les taules siguin responsives, podem utilitzar la propietat overflow:
<style>
.table-responsive {
overflow-x: auto;
}
</style>
<div class="table-responsive">
<table>
<!-- Contingut de la taula -->
</table>
</div>Explicació del Codi
.table-responsive { overflow-x: auto; }: Afegeix una barra de desplaçament horitzontal si la taula és més ampla que el contenidor.
Exercici Pràctic
Crea una taula HTML amb les següents dades i aplica els estils següents:
- La taula ha de tenir un ample del 100% i les cel·les han de tenir un marge de 1px.
- Les cel·les d'encapçalament han de tenir un color de fons blau i el text en blanc.
- Les files parells han de tenir un color de fons gris clar.
- La primera cel·la de cada fila ha de tenir el text en negreta.
- L'última cel·la de cada fila ha d'estar alineada a la dreta.
Solució
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exercici Pràctic</title>
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
}
th {
background-color: #007BFF;
color: white;
text-align: left;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
td:first-child {
font-weight: bold;
}
td:last-child {
text-align: right;
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>Nom</th>
<th>Edat</th>
<th>Ciutat</th>
</tr>
</thead>
<tbody>
<tr>
<td>Anna</td>
<td>28</td>
<td>Barcelona</td>
</tr>
<tr>
<td>Joan</td>
<td>34</td>
<td>València</td>
</tr>
<tr>
<td>Maria</td>
<td>22</td>
<td>Madrid</td>
</tr>
</tbody>
</table>
</body>
</html>Resum
En aquesta secció, hem après com aplicar estils bàsics i avançats a les taules HTML utilitzant CSS. Hem vist com utilitzar selectors per aplicar estils específics a diferents parts de la taula, com fer que les taules siguin responsives i com aplicar estils dinàmics amb pseudo-classes. Amb aquests coneixements, pots crear taules HTML atractives i funcionals per als teus projectes web.
Curs d'HTML
Mòdul 1: Introducció a l'HTML
- Què és l'HTML?
- Configuració del teu entorn
- Estructura bàsica de l'HTML
- Etiquetes i elements HTML
- Creant la teva primera pàgina HTML
Mòdul 2: Formatació de text en HTML
- Encapçalaments i paràgrafs
- Etiquetes de formatació de text
- Llistes: Ordenades i desordenades
- Cites i text preformatat
Mòdul 3: Enllaços i mitjans en HTML
Mòdul 4: Taules en HTML
- Estructura bàsica de taules
- Encapçalaments i peus de taula
- Fusionant cel·les: Colspan i Rowspan
- Estilitzant taules
Mòdul 5: Formularis en HTML
- Creant un formulari bàsic
- Elements de formulari: Input, Textarea, i Select
- Atributs i validació de formularis
- Enviant formularis
Mòdul 6: Elements semàntics d'HTML5
Mòdul 7: Tècniques avançades d'HTML
Mòdul 8: Integració d'HTML i CSS
- Enllaçant CSS a HTML
- CSS en línia, intern i extern
- Selectors bàsics de CSS
- Estilitzant elements HTML
Mòdul 9: Disseny web responsiu
- Introducció al disseny responsiu
- Etiqueta Meta del Viewport
- Media Queries
- Imatges i vídeos responsius
Mòdul 10: Millors pràctiques i accessibilitat
- Millors pràctiques d'HTML
- Conceptes bàsics d'accessibilitat web
- Utilitzant rols ARIA
- Proves d'accessibilitat
