Jit*_*yas 10 css xhtml w3c semantic-markup
它是确定使用cellpadding="2" cellspacing="2"的<table>?或者这些不是W3C推荐的,不符合网络标准吗?
CSS中的替代品有哪些?
更新:是否可以使用<td align="right" valign="top">?
我的问题是内容和演示文稿的分离以及W3C的建议.
更新:
根据这个图表中<table>只有align和bgcolor严格的版本是不允许的.那么允许其他属性是否可以<table>?
alt text http://shup.com/Shup/293811/11021055643-My-Desktop.png
Dis*_*oat 10
不,这些属性并未正式弃用,但它们通常不受欢迎,因为您应该使用CSS进行演示.
因为cellpadding你可以padding在CSS中轻松替换它:
table.classname td {
padding: 4px;
}
Run Code Online (Sandbox Code Playgroud)
因为cellspacing,首先要确定它是否真的有必要.如果表格单元格上没有任何边框,或者您不希望每个单元格的边框之间有间距,则表示不是.(我个人认为单元格间距在设计上看起来很糟糕,但在某些情况下它可能很有用.)
这样做很好:
table {
border-collapse: collapse;
}
Run Code Online (Sandbox Code Playgroud)
然后每个表格单元与其邻居共享边界,这意味着您可以添加1px顶部和底部边框,并且每行只能获得1px.
但是,要分隔边框,您可以使用此CSS,但它可能在IE6中不起作用.
table.data td {
border-collapse: separate;
border-spacing: 4px;
}
Run Code Online (Sandbox Code Playgroud)
虽然技术上很好,但强烈建议不要这样做.
想象一下,如果您的网站在多个页面中有多个表格,并且您希望因某种原因更改填充或间距.那么,您必须浏览整个站点并进行更改.
或者您可以通过在一个位置更改一行代码来使用CSS并更改整个站点.这不仅效率更高,而且更容易,可以帮助您避免错误,并使您保持一致.
<style type="text/css">
table td { padding:10px; margin:10px; }
</style>
Run Code Online (Sandbox Code Playgroud)
如果你想使用一些带有填充和边距的表而没有其他表,你可以通过添加一个"."来在CSS中创建类.在您选择的名称之前:
<style type="text/css">
.myTable td { padding:10px; margin:10px; }
</style>
<table class="myTable> etc...
Run Code Online (Sandbox Code Playgroud)
请注意,类名区分大小写.还有许多其他属性,你可以玩边框,背景颜色等...
简而言之,虽然不推荐使用单元格间距和单元格填充属性,但使用CSS可以更好地在整个站点中轻松实现一致性.
单元格填充和单元格间距属性仍然受到完全支持。尽管有些人会告诉您通过 CSS 设置表格单元格上的填充和边距来实现此目的,但这仍然是将其应用于表格中的每个单元格的简单方法。
如果您想要一份属性列表以及哪些属性已弃用,我发现 w3schools 是最可靠的信息来源。