我正在重构一个旧网站,那个迷宫里到处都是桌子。 我们正在转向HTML5,我需要修复一个充满
的表<td align="center">
代码。 我通过创建一个类
找到了一个部分解决方案.centered {
text-align: center;
}
并将其分配给每个包含TD的文本。
但这不适用于图像和其他一些元素。
margin: auto;
也不起作用。
什么是在TD内部中心所有内容的最快方式?
答案 0 :(得分:34)
如果它们是块级别元素,则不会受text-align: center;
的影响。有人可能已经设置了img { display: block; }
,这就是让它失败了。你可以尝试:
td { text-align: center; }
td * { display: inline; }
如果看起来符合要求,肯定会用所需的元素替换*,如:
td img, td foo { display: inline; }
答案 1 :(得分:10)
您可以使用内联css:
<td style = "text-align: center;">
答案 2 :(得分:5)
根据要求继续支持“过时”功能的HTML5 CR,align=center
属性相当棘手。 Rendering rules for tables say:td
具有该属性的元素“预计会将文本置于其中心,就好像他们的'text-align'属性在表示提示中设置为'center',并将后代对齐到中心。“
并且对齐后代的定义是,浏览器将“仅将那些'margin-left'和'margin-right'属性计算的后代对齐到'auto'以外的值,这些值过度约束并且具有使用值的两个边距中的一个被强制为更大的值,并且它们本身没有适用的对齐属性。当多个元素要对齐特定的后代时,最深层嵌套的此类元素应该覆盖其他元素。预期对齐元素将通过相应地设置其左右边距的使用值来对齐。“
所以它真的取决于内容。
答案 3 :(得分:0)
您可以使用此代码替换表格对齐
table
{
margin:auto;
}
答案 4 :(得分:-1)
将此代码添加到您的StyleSheet中:
margin-top:80px;