2011-02-07 14 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)不建議您使用表格進行內容對齊。 (我想這會是一個很好的理由。)