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

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

  • 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'。 我认为他把这个放在这里有一个原因 - 可能是一些旧浏览器需要的。 从这个事实来看,这是他列入的少数评论之一,我猜测它的重要性,而且有一个很好的理由。

    基于这个评论 - 仅此一个评论! - 我会继续在标记中使用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