2012-08-01 34 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或任何長度