cellpacingとcellpaddingがCSSスタイルではないのはなぜですか
-
19-08-2019 - |
質問
なぜこれがそんなに私を悩ますのかわかりませんが、ウェブサイトを作成するとき、私はいつもCSSですべてのスタイリングをしようとします。ただし、テーブルを操作しているときに忘れてはならないことの1つは、cellspacing = <!> quot; 0 <!> quot;を追加することです。およびcellpadding = <!> quot; 0 <!> quot;
これらの時代遅れのHTML 4属性をオーバーライドするCSSプロパティがないのはなぜですか?
解決
セル間隔:
table { border-collapse: collapse; }
cellpadding については、次のことができます
table tr td, table tr th { padding: 0; }
他のヒント
matはすでに回答済みですが、完全を期すためにのみ:
-
padding
<!>#8594;cellpadding
-
border-spacing
<!>#8594;cellspacing
-
border-collapse
<!>#8594;同等の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;
}
これについて言及する理由は、彼が「tables still cellpadding = 0」というコメントを持っているからです。おそらくいくつかの古いブラウザに必要な理由で、彼はここにこれを入れたと思います。これは彼が含めたごく少数のコメントの1つであるという事実から判断すると、私はその重要性を推測しており、それには正当な理由があると考えています。
このコメントに基づいて-このコメントだけで! -cellspacing = <!> quot; 0 <!> quot;を使用し続けています。マークアップでは、誰かが明確に(下に)なぜ私がする必要がないかを教えない限り。ただし、最近サポートする価値のある最新のブラウザでは、おそらく不要になる可能性があります。
table { border-collapse:collapse; }
セル間隔を<!>#8220;悪い習慣<!>#8221;と考えている人がいると思います。私がそれを理解する方法は、CSS2標準に含まれる同等のものですが、IEはこのプロパティをサポートしていません。 border-collapseでは、間隔を0の値に設定できます。テーブルのTD要素にパディングプロパティを設定して、セルのパディングを実現できます。