为什么cellpacing和cellpadding不是CSS样式
我不知道为什么这让我感到困扰,但是当我创建网站时,我总是试图用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”,除非有人明确地告诉我(为什么我不需要)。 然而,在现代浏览器中,这可能是不必要的。
链接地址: http://www.djcxy.com/p/88787.html上一篇: Why are cellspacing and cellpadding not CSS styles
下一篇: Set border to table tr, works in everything except IE 6 & 7