ASP.NET2.0里有很多很多以前可以使用的HTML标志都被视为已过时了,在编译的时候会发出警告
像<td>标签里使用width和height属性,现在也过时了,就是这些很容易设置,只要用<td style="width:100px; height:60px;">就可以了,这里人注意的是一定要写了单位,因为在以前直接设置width、height属性时,是不用带单位的,所以现在经常会忘记单位,在css里,如果不写上单位,这些设置就不起作用了
这里我主要说的是<table align="center">的转换,先看这一句的显示结果:
代码:<table width="300" border="1" align="center"><tr><td>aaa</td></tr></table>
这样的代码,显示的结果是表格居中,表格内的文字不居中的,如果要设置单元格内的文件居中,还需要设置<td align="center">,就是说这样的的代码,默认单元格的文字是居左的
解决的办法有很多,我讲两种常用的方法:
1、使用<center></center>
代码:<center><table width="300" border="1"><tr><td>aaa</td></tr></table></center>
这种方法,在asp.net2.0解析后,会显示成整个表格和表格内的单元格内容,全部居中,就是说这样的的代码,默认单元格的文字是居中的,所以和要实现的功能有一点不同
2、使用CSS的表达式
代码:
<style type="text/css">
<!--
.tableCenter {
position:absolute;
left:expression((document.body.clientWidth - this.offsetWidth)/2);
}
-->
</style>
<table width="300" border="1" class="tableCenter"><tr><td>aaa</td></tr></table>
这种方法得到的结果是完全一样的,他设置了table的left,就是这种代码使用了CSS表达式,每次显示表格前都要计算left值了