在<table> </table>中使用cellpadding =“2”cellspacing =“2”是否可以

时间:2010-03-10 05:38:33

标签: css xhtml w3c semantic-markup

cellpadding="2" cellspacing="2"中使用<table>是否可以?或者这些不是W3C推荐的,不符合网络标准吗?

CSS中有哪些替代方案?

更新:是否可以使用<td align="right" valign="top">

我的问题是内容和演示文稿的分离以及W3C建议。

更新: 仅<table> align According to this chart {}} {}} {} {{}}}那么允许bgcolor的其他属性吗?

alt text http://shup.com/Shup/293811/11021055643-My-Desktop.png

4 个答案:

答案 0 :(得分:10)

不,这些属性并未正式弃用,但它们通常不受欢迎,因为您应该使用CSS进行演示。

对于cellpadding,您可以轻松地将其替换为CSS中的padding

table.classname td {
  padding: 4px;
}

对于cellspacing,首先要确定是否真的有必要。如果表格单元格上没有任何边框,或者您不希望每个单元格的边框之间有间距,则表示不是。 (就我个人而言,我认为单元格间距在设计上看起来很糟糕,但在某些情况下它可能很有用。)

这样做很好:

table {
  border-collapse: collapse;
}

然后每个表格单元与其邻居共享边界,这意味着你可以添加1px顶部和底部边框,你只需要将每行分开1px。

但是,要分隔边框,您可以使用此CSS,但它可能在IE6中不起作用。

table.data td {
  border-collapse: separate;
  border-spacing: 4px;
}

答案 1 :(得分:8)

虽然技术上很好,但强烈建议不要这样做。

想象一下,如果您的网站在多个页面中有多个表格,并且您希望因某种原因更改填充或间距。那么,您必须浏览整个网站并进行更改。

或者您可以使用CSS并通过更改一个位置的代码行来更改整个网站。这不仅效率更高,而且更容易,可以帮助您避免错误,并使您保持一致。

<style type="text/css">
    table td { padding:10px; margin:10px; }
</style>

如果你想使用一些带有填充和边距的表而没有其他表,你可以通过添加一个“。”来在CSS中创建类。在您选择的名称之前:

<style type="text/css">
    .myTable td { padding:10px; margin:10px; }
</style>
<table class="myTable> etc...

请注意,类名区分大小写。还有许多其他属性,你可以玩边框,背景颜色等...

简而言之,虽然不推荐使用单元格间距和单元格填充属性,但使用CSS可以更好地在您的网站上轻松实现一致性。

答案 2 :(得分:2)

<style type="text/css">
table.padded-table td { 
    padding:10px; 
    }
</style>

答案 3 :(得分:0)

仍然完全支持单元格填充和单元格间距属性。虽然有些人会告诉你用表格单元格上的CSS设置填充和边距来做这件事,但这仍然是将它应用于表格中每个单元格的简单方法。

如果您想要一个属性列表以及哪些属性已被弃用,我发现w3schools是最可靠的信息来源。

w3schools: td tag

w3schools: table tag