2011-02-07 27 views
0

我有一个ASP.net网页我的工作,我没有创建它自己,用下面的HTML代码:不对准文本在IE

<DIV style="POSITION: absolute; TEXT-ALIGN: center; WIDTH: 1400px; TOP: 60px; LEFT: 125px"> 
<SPAN style="TEXT-ALIGN: center; FONT-SIZE: xx-large" id=labelInstructions>Some Text: <BR><BR></SPAN> 
<TABLE style="WIDTH: 1200px" border=1 align=center> 
    <TBODY> 
     <TR> 
      <TD><LABEL style="FONT-SIZE: x-large" for=FileUpload1>ENTER Path: </LABEL><INPUT id=FileUpload1 size=70 type=file name=FileUpload1></TD> 
     </TR> 
     <TR> 
      <TD><SPAN style="COLOR: red; FONT-SIZE: medium" id=fileUploadError><BR><BR></SPAN></TD> 
     </TR> 
     <TR> 
      <TD> 
       <TABLE style="WIDTH: 1200px" border=1> 
        <TBODY> 
         <TR> 
          <TD style="WIDTH: 400px; FONT-SIZE: x-large" vAlign=top align=right>FILE CONTENT INSTRUCTIONS:</TD> 
          <TD style="WIDTH: 850px; FONT-SIZE: x-large" vAlign=top align=left>INSTRUCTION 1<BR>INSTRUCTION 2<BR></TD></TR> 
         <TR><TD></TD></TR> 
         <TR> 
          <TD style="WIDTH: 400px; FONT-SIZE: x-large" vAlign=top align=right>FILE CONTENT EXAMPLE:</TD> 
          <TD style="WIDTH: 850px; FONT-SIZE: x-large" vAlign=top align=left>EXAMPLE 1<BR>EXAMPLE 2<BR><BR></TD> 
         </TR> 
        </TBODY> 
       </TABLE> 
      </TD> 
     </TR> 
    </TBODY> 
</TABLE> 
</DIV> 

当这个网站会显示在IE浏览器,我注意到内部表中的单元格中的文本的对齐方式,即在外部表格的第三个单元格中的表格在放大和缩小时会失真。我有固定的表格设置像素而不是百分比,所以我不明白为什么这是一个问题。缩放时,我希望单元格中的文字保持在相同的 位置。代码必须从后面的代码中操作,所以我不能创建一个单独的CSS文件。任何帮助表示赞赏。

这里有两个例子来说明什么我谈论:

在100%普通变焦:

enter image description here

缩放为75%:

enter image description here

注意在第二幅图像中,底部的两个表格单元稍微向左偏移。

UPDATE:

是的,我明白了,我们将实现在不久的将来,一个新的系统。很明显,这是旧的,非常不规范,当我开始使用它时,这个现象已经消失在我的腿上。我们正在制定一个新系统的替代计划,同时,这是我必须处理的。

+1

WTF?这是2011年...我敢肯定,每次浏览器必须呈现这样的HTML这样的网页设计师死:) – gearsdigital 2011-02-07 22:57:05

+0

我很抱歉 - 有什么区别? (除文本大小外)。 PS你已经指定了一张“1200px”的表格,但是表示你希望子单元格的总数为“1250px”(400 + 850)。我认为浏览器卡住了试图“猜测”你想要的内容。 – scunliffe 2011-02-07 23:02:53

回答

1

(1)有与嵌套表的问题...

    <TBODY> 
         <TR> 
          <TD style="WIDTH: 400px; FONT-SIZE: x-large" vAlign=top align=right>FILE CONTENT INSTRUCTIONS:</TD> 
          <TD style="WIDTH: 850px; FONT-SIZE: x-large" vAlign=top align=left>INSTRUCTION 1<BR>INSTRUCTION 2<BR></TD></TR> 
         <TR><TD></TD></TR> 
         <TR> 
          <TD style="WIDTH: 400px; FONT-SIZE: x-large" vAlign=top align=right>FILE CONTENT EXAMPLE:</TD> 
          <TD style="WIDTH: 850px; FONT-SIZE: x-large" vAlign=top align=left>EXAMPLE 1<BR>EXAMPLE 2<BR><BR></TD> 
         </TR> 
        </TBODY> 

这个内表的格式是:

Row 1: Two cells. 
Row 2: One cell. 
Row 3: Two cells. 

您必须列#2额外的TD 。 (我会说使用colspan,但我不确定IE是否可以正确执行此操作。)

(2)我不知道如何解决这个问题,但我的猜测是它需要javascript或禁用缩放功能(最后我听说,后者是不可能的,但我可能在那里是错的)。我还没有看完整个东西,但this MSDN article似乎是一个很好的开始。它看起来像你可以检测浏览器的缩放因子。如果它不等于1.0,那么可以尝试让JavaScript调整大小以便将td传送到预定位置。

(3)不建议您使用表格进行内容对齐。 (我想这会是一个很好的理由。)