Pourquoi Cellpacing et CellPadding ne sont-ils pas des styles CSS?
-
19-08-2019 - |
Question
Je ne sais pas pourquoi cela me gène tant, mais lorsque je crée des sites Web, j'essaie toujours de faire tout mon style avec CSS. Cependant, si je travaille avec des tableaux, il faut toujours que je garde en tête d'ajouter cellulespacing = " 0 " et cellpadding = "0"
Pourquoi n'y a-t-il pas de propriété CSS pour remplacer ces attributs HTML 4 obsolètes?
La solution
table { border-collapse: collapse; }
En ce qui concerne cellpadding , vous pouvez le faire
.table tr td, table tr th { padding: 0; }
Autres conseils
mat déjà répondu, mais juste pour être complet:
-
padding
& # 8594;cellpadding
-
espacement de bordure
& # 8594;cellpacing
-
border-collapse
& # 8594; pas d'équivalent HTML
Il convient également de noter que vous pouvez définir des valeurs horizontales et verticales distinctes pour les valeurs CSS, par exemple. border-spacing: 0 1px
.
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}
De plus, TD et TR sont réinitialisés:
thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
La raison pour laquelle je le mentionne est qu’il a un commentaire "les tables ont encore besoin de cellpadding = 0". Je suppose qu'il a mis cela ici pour une raison - probablement nécessaire par certains anciens navigateurs. À en juger par le fait qu’il s’agit de l’un des rares commentaires qu’il a inclus, je suppose que c’est important et qu’il ya une bonne raison à cela.
Sur la base de ce commentaire - et de ce commentaire seul! - Je continue à utiliser cellspacing = " 0 " dans le balisage à moins que quelqu'un ne me dise définitivement (ci-dessous) pourquoi je n'en ai pas besoin. Il pourrait toutefois être inutile dans les navigateurs modernes dignes d’être pris en charge ces jours-ci.
table { border-collapse:collapse; }
Je suppose que quelqu'un a considéré l'espacement des cellules comme une "mauvaise pratique". D'après ce que je comprends, l'équivalent est inclus dans la norme CSS2, mais IE ne prend pas en charge cette propriété. border-collapse permet de définir l'espacement sur 0. Le remplissage des cellules peut être réalisé en définissant la propriété de remplissage des éléments TD d'une table.