52

なぜそんなに気になるのかわかりませんが、ウェブサイトを作るときはいつもCSSでスタイリングをするようにしています。ただし、テーブルを操作するときに常に覚えておく必要があることの1つは、cellspacing="0"とcellpadding="0"を追加することです。

これらの時代遅れのHTML4属性をオーバーライドするCSSプロパティがないのはなぜですか?

4

6 に答える 6

65

セル間隔:

table { border-collapse: collapse; }

cellpaddingについては、次のことができます

table tr td, table tr th { padding: 0; }
于 2008-12-03T23:44:01.270 に答える
42

マットはすでに回答していますが、完全を期すために:

  • paddingcellpadding
  • border-spacingcellspacing
  • border-collapse→ HTML に相当するものはありません

また、CSS の値に水平方向と垂直方向の値を別々に設定できることも覚えておく価値がありますborder-spacing: 0 1px

于 2008-12-07T00:06:38.163 に答える
9

Eric Myer のリセット スタイルシートには、次の table の「リセット」スタイルが含まれています。

/* 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 が必要」というコメントがあるからです。彼は何らかの理由でこれをここに入れていると思います - おそらくいくつかの古いブラウザで必要です。これが彼が含めた非常に数少ないコメントの 1 つであるという事実から判断すると、それは重要であり、それには正当な理由があると思います。

このコメントに基づいて - そしてこのコメントだけで!- マークアップで、cellspacing="0" を使用し続けますが、その必要がない理由を誰かが明確に (以下で) 教えてくれます。ただし、最近サポートする価値のある最新のブラウザーでは不要になる可能性があります。

于 2009-01-24T23:55:20.420 に答える
0
table { border-collapse:collapse; }
于 2008-12-03T23:37:49.347 に答える
0

誰かがセルの間隔を「悪い習慣」と見なしたと思います。CSS2標準に含まれているのと同じですが、IEはこのプロパティをサポートしていません。border-collapse を使用すると、間隔を 0 の値に設定できます。セルのパディングは、パディング プロパティをテーブルの TD 要素に設定することで実現できます。

于 2008-12-03T23:49:46.327 に答える