我不知道为什么这么困扰我,但是当我创建网站时,我总是尝试用CSS做我所有的造型.但是,当我使用表时,我总是要记住要做的一件事是添加cellspacing ="0"和cellpadding ="0"
为什么没有CSS属性来覆盖这些过时的HTML 4属性?
Cellspacing:
table { border-collapse: collapse; }
至于cellpadding,你可以做到
table tr td, table tr th { padding: 0; }
垫子已经回答了,但仅仅是为了完整性:
padding
→ cellpadding
border-spacing
→ cellspacing
border-collapse
→没有HTML等价物
还值得记住的是,您可以为CSS设置单独的水平和垂直值,例如border-spacing: 0 1px
.
Eric Myer的重置样式表包含以下表的"重置"样式:
/* tables still need 'cellspacing="0"' in the markup */ table { border-collapse: collapse; border-spacing: 0; }
另外TD,TR被重置:
thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
我提到这个的原因是他有一个评论'表仍然需要cellpadding = 0'.我认为他把这个放在这里是有原因的 - 可能需要一些旧的浏览器.从这一事实来看,这是他所包含的极少数评论之一,我猜它很重要,并且有充分的理由.
基于此评论 - 仅此评论! - 我继续在标记中使用cellspacing ="0",除非有人告诉我(下面)为什么我不需要.然而,在任何现代浏览器中可能都没有必要支持这些日子.