HTML / CSS表右对齐文本在IE中不起作用

时间:2012-08-01 15:50:08

标签: html css internet-explorer html-table alignment

同样,Internet Explorer对我来说并不容易。我有一个表,在同一行有两个单元格。我想显示一些与左边对齐的文本(第一个单元格),另一个文本与右边(第二个单元格)对齐。这在Chrome和Firefox中完全有效,但在IE中,所有文本都显示为左对齐:

<table width="660px">
<tr>
    <td align="left" width="160px">Text 1</td>
    <td align="right" width="160px">Text 2</td>
</tr>

经过一番研究后,我想知道是否应该把它放在CSS上,所以我把它改成了:

HTML:

<table class="anchors" width="660px">
<tr>
    <td class="left" width="160px">Text 1</td>
    <td class="right" width="160px">Text 2</td>
</tr>

CSS:

table.anchors td.left
{
    text-align: left;
}

table.anchors td.right
{
      text-align: right;
}

它仍然无法在IE中运行(至少版本9)。有人对此有暗示吗?我应该使用别的东西吗(例如,div)?

4 个答案:

答案 0 :(得分:3)

代码语法格式不正确(width属性采用数字或百分比值,而不是px单位),尽管这被浏览器赦免。更严重的是,您要设置相互矛盾的要求:表格应为660像素宽,但由两个160像素宽的单元格组成。浏览器行为不一致就不足为奇了。

但是,在“标准模式”下,IE 8和IE 9的行为与其他浏览器相同。否则,在Quirks Mode中,任何事情都可能发生,并且您不能将其称为错误,因为该文档不符合要求。所以添加一个足够的doctype声明。

此外,最好避免相互冲突的要求。如果您需要在桌面上设置总宽度(以像素为单位),那就这样吧。然后设置列宽,以便它们相加或更简单,例如设置宽度为50%(对于应平衡的双列表)。

答案 1 :(得分:1)

http://jsfiddle.net/6jvnQ/

您可以更改表格的宽度,使其与两个单元格一样宽吗?我怀疑你得到不同的结果,因为奇怪的宽度。

答案 2 :(得分:0)

它是一个错误

此链接可以帮助您

TEXT ALIGN BUGS

答案 3 :(得分:0)

使用它:

padding-left:22%或22px或任何长度