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
 
