为什么cellpacing和cellpad不是CSS样式
我不知道为什么这么困扰我,但是当我创build网站的时候,我总是试图用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”。 我假设他把这个在这里有一个原因 – 可能需要一些旧的浏览器。 从这个事实来看,这是他列入的less数评论之一,我猜它是重要的,而且有一个很好的理由。
根据这个评论 – 这个评论! – 我继续在标记中使用cellspacing =“0”,除非有人告诉我明确(下)为什么我不需要。 然而,在现代浏览器中,这可能是不必要的。
table { border-collapse:collapse; }
我想有人认为单元格间距是“不好的做法”。 我怎么理解它是等同于CSS2标准,但IE不支持这个属性。 border-collapse允许将间距设置为0值。 可以通过设置表格的TD元素的填充属性来实现单元填充。