在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
答案 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是最可靠的信息来源。