2012-08-01 29 views
6

再次,Internet Explorer对我来说并不容易。我有一个在同一行中有两个单元格的表格。我想显示一些文本与左侧(第一个单元格)对齐,另一个文本与右侧(第二个单元格)对齐。这在Chrome和Firefox的工作充分,但在IE浏览器中的所有文本显示左对齐:HTML/CSS表右对齐文本在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)吗?

+0

你介意做一个[小提琴](http://jsfiddle.net)? – Inkbug 2012-08-01 15:55:07

+0

即使是初始设计,在IE9中似乎也能正常工作。将边框添加到表格中,以获得有关文字如何对齐的更多视觉效果。 – 2012-08-01 15:56:51

+0

解决这些类型问题的最快方法是使用IE开发工具(F12)。然后,您可以对CSS进行更改,并随时查看实时结果。 – 2012-08-01 15:57:51

回答

3

的代码是语法格式不正确(width属性带数字或百分比值,而不是与px单位),虽然这由浏览器赦免。更严重的是,你正在设置相互矛盾的要求:表格应该是660像素宽,但由两个160像素宽的单元组成。浏览器行为不一致并不奇怪。

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

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

+0

你是对的,Jukka。看看我上面的原始帖子的评论。感谢所有的更正方式! – jaff 2012-08-02 13:43:12

1

http://jsfiddle.net/6jvnQ/

您可以更改表格的宽度,以便它的宽度与两个小区?我怀疑你会得到不同的结果,因为奇怪的宽度。

+1

就是这样,乔纳斯。有关详细信息,请参阅我对自己帖子的回复。谢谢! – jaff 2012-08-02 13:42:10

0

它是一种错误

此链接可以帮助你

TEXT ALIGN BUGS

+0

该页面表示其影响IE 6和7,但OP已经声明IE 9 – 2012-08-01 16:31:36

+0

op说,至少需要在ie9中工作。 – Prashobh 2012-08-01 16:35:06

+0

这是别的,prash。有关详细信息,请参阅我对原始帖子的评论。尽管如此,谢谢! – jaff 2012-08-02 13:51:45

0

使用本:

填充左:22%以上的22px或任何长度