CSS方式来水平alignment表格
我想在浏览器窗口的中心显示一个固定宽度的表格。 现在我用
<table width="200" align="center">
但是Visual Studio 2008在这一行上给出警告:
属性“alignment”被认为是过时的。 推荐一个更新的构造。
我应该使用什么样式的CSS来获得相同的布局?
史蒂文理论上是正确的:
使用CSS居中表的“正确”方法。 如果左右边距相同,则合适的浏览器应该将表格居中。 最简单的方法是将左右边距设置为“自动”。因此,可以在样式表中写入:
table { margin-left: auto; margin-right: auto; }
但在这个答案的开头提到的文章给你所有其他的方式来中心表。
一个优雅的CSS跨浏览器的解决scheme:这适用于MSIE 6(怪癖和标准),Mozilla,Opera甚至Netscape 4.x没有设置任何明确的宽度:
div.centered { text-align: center; } div.centered table { margin: 0 auto; text-align: left; } <div class="centered"> <table> … </table> </div>
尝试这个:
<table width="200" style="margin-left:auto;margin-right:auto">
简单。 IE6及以上版本将以“margin:0 auto”为中心, 如果只有页面呈现在“标准”模式下。 要做到这一点,你需要一个有效的文档types声明,如
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
要么
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
诚然,IE5.5及以下版本仍然会拒绝将表格居中,但是也许你可以忍受,特别是如果页面仍然function正常,表格左alignment。 我认为到目前为止,IE5.5及以下版本的用户已经相当习惯了一些奇怪的网站 – 但你仍然需要确保这些可视化的故障不会导致你的网站无法使用。
快乐的编码!
编辑:对不起,我应该指出,你不必有一个“严格的”文档types来获得IE6和“标准”渲染模式。 我意识到这似乎从我上面发布的doctype的例子。 例如,这个doctype声明当然是一样的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
虽然在今天的世界可能是异端的 – 过去你会做下面的非CSS代码。 这适用于所有的浏览器,包括今天的浏览器,但正如我所说的 – 在今天的世界中是异端的:
<center> <table> ... </table> </center>
你需要的是某种方式来告诉你想要放置一张桌子,而这个人正在使用一个旧的浏览器。 然后在表格周围插入“<center>”命令。 否则 – 使用CSS。
令人惊讶的是,如果你想把所有东西都放在身体区域,那么你就可以使用这个标准
text-align: center;
CSS命令和在IE8(至less)它将中心的一切包括表在页面上。
style="text-align:center;"
(我认为)
或者你可以忽略它,它仍然有效
这应该工作:
<div style="text-align:center;"> <table style="margin: 0 auto;"> <!-- table markup here. --> </table> </div>
我只是学习这个,最后为我工作的是先制作一个三行的表格。 将左右行的边距设置为50%。 然后在中心“表格行”的“表格数据”内放置一行固定宽度的表格。
<style> .abc { text-align: center; } </style> <table class="abc"> <tr> <td>Item1</td> <td>Item2</td> </tr> </table>