为什么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; } 

垫已经回答了,但只是为了完整:

  • paddingcellpadding
  • border-spacingcellspacing
  • 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元素的填充属性来实现单元填充。

Interesting Posts