Perché cellpacing e cellpadding non sono stili CSS
-
19-08-2019 - |
Domanda
Non so perché questo mi preoccupi così tanto, ma quando creo siti Web, cerco sempre di fare tutto il mio stile con i CSS. Comunque una cosa che devo sempre ricordare di fare quando lavoro con le tabelle è aggiungere cellpacing = " 0 " e cellpadding = " 0 "
Perché non esiste una proprietà CSS per sovrascrivere questi attributi HTML 4 antiquati?
Soluzione
table { border-collapse: collapse; }
Per quanto riguarda cellpadding , puoi fare
table tr td, table tr th { padding: 0; }
Altri suggerimenti
mat ha già risposto, ma solo per completezza:
-
padding
& # 8594;cellpadding
-
border-spacing
& # 8594;cellspacing
-
border-collapse
& # 8594; nessun equivalente HTML
Vale anche la pena ricordare che è possibile impostare valori orizzontali e verticali separati per quelli CSS, ad es. border-spacing: 0 1px
.
ripristina foglio di stile di Eric Myer contiene il seguente stile di "reset" per la tabella:
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}
Inoltre TD, TR sono ripristinati:
thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
Il motivo per cui menziono questo è che ha un commento 'le tabelle hanno ancora bisogno di cellpadding = 0'. Presumo che l'abbia inserito qui per un motivo, probabilmente necessario per alcuni vecchi browser. A giudicare dal fatto che questo è uno dei pochi commenti che ha incluso, suppongo sia importante e che ci sia una buona ragione per farlo.
Basato su questo commento - e solo su questo commento! - sto continuando a utilizzare cellpacing = " 0 " nel markup a meno che qualcuno non mi dica definitivamente (sotto) perché non ne ho bisogno. Potrebbe tuttavia essere superfluo in qualsiasi browser moderno che valga la pena supportare in questi giorni.
table { border-collapse:collapse; }
Suppongo che qualcuno abbia considerato la spaziatura cellulare una cattiva pratica & # 8221 ;. Come capisco è equivalente incluso nello standard CSS2 ma IE non supporta questa proprietà. border-collapse consente di impostare la spaziatura sul valore 0. L'imbottitura delle celle può essere ottenuta impostando la proprietà di imbottitura sugli elementi TD di una tabella.