6

同样,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>

​​​​​​​​​​​​​​​</p>

经过一番研究,我想知道是否应该将它放在 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

3 回答 3

3

代码在语法上是错误的(width属性采用数字或百分比值,而不是px单位),尽管浏览器可以原谅这一点。更严重的是,您设置了相互矛盾的要求:表格应为 660 像素宽,但由两个 160 像素宽的单元格组成。浏览器行为不一致并不奇怪。

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

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

于 2012-08-01T17:04:58.993 回答
1

http://jsfiddle.net/6jvnQ/

你能改变表格的宽度,使它和两个单元格一样宽吗?我怀疑你会因为奇怪的宽度而得到不同的结果。

于 2012-08-01T15:57:45.710 回答
0

用这个:

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

于 2013-02-27T11:18:47.863 回答