在cellpadding="2" cellspacing="2"中使用<table>可以吗?或者这些不是W3C推荐的,也不符合网络标准?
CSS中有哪些替代方案?
更新:使用<td align="right" valign="top">也可以吗?
我的问题是内容和表示的分离以及W3C的建议。
更新:根据这张图表在<table>中只允许align和bgcolor在严格的版本中。那么允许<table>的其他属性可以吗?
alt文本http://shup.com/Shup/293811/11021055643-My-Desktop.png
发布于 2010-03-10 17:23:03
不,这些属性并不是正式反对的,但它们通常是不受欢迎的,因为您应该使用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;
}发布于 2010-03-10 06:25:59
虽然技术上很好,但强烈建议不要这样做。
想象一下,如果您的站点有多个跨多个页面的表,并且出于某种原因想要更改填充或间隔。好吧,你得翻阅你的整个网站并做些改变。
或者,您可以使用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以方便和一致。
发布于 2010-03-10 05:45:00
<style type="text/css">
table.padded-table td {
padding:10px;
}
</style>https://stackoverflow.com/questions/2414773
复制相似问题