In questo post vorrei ritornare su un concetto basilare dei CSS, ovvero la stilizzazione delle tabelle o, piรน precisamente, l’aggiunta di bordi alla tabella ed alla celle. Frequentando alcuni forum di settore, infatti, mi sono accorto che la questione รจ tutt’altro che elementare per molti neofiti dei fogli di stile e quindi ho deciso di scrivere questo semplice post nella speranza che aiuti a far chiarezza.
In HTML il “problema” puรฒ essere risolto molto semplicemente impostando il valore “1” (o altro numero maggiore di “1”) l’attributo “border” del tag <table> (prassi deprecata dopo l’avvento di HTML5). Coi CSS la procedura รจ leggermente piรน complicata. Vediamo di seguito il pocedimento che, per semplicitร , ho suddiviso in tre step:
1) Nel primo esempio applichiamo il seguente codice:
table {
border: medium solid #00f;
}

Come potete vedere, applicando la regola di bordo al selettore di tabella table si aggiunge un bordo al confine della tabella. Le celle interne no hanno, invece, alcun bordo.
2) Nel secondo esempio applichiamo la proprietร border ai selettori td e th:
table {
border: medium solid #00f;
}
th, td {
border: medium solid #00f;
}

Gurdando l’immagine potete notare che ogni cella ha il proprio bordo che risulta essere “separato” da quello delle celle adiacenti.
3) Nel terzo esempio correggiamo questo aspetto; applicando la proprietร border-collapse (con valore collapse) al selettore di tabella possiamo imporre alle celle di condividere i bordi:
table {
border: medium solid #00f;
border-collapse: collapse;
}
th, td {
border: medium solid #00f;
}

Nota: la proprietร border-collapse: collapse ha una resa grafica leggermente differente da browser a browser; in Firefox, ad esempio, il bordo risulta piรน sottile rispetto a Chrome e Safari.

