2010-07-13 44 views
4

是否有什麼特別原因爲什麼鉻不尊重"display:inline"當它在"<table>"上使用,並且有沒有已知的解決方法?一切工作正常,在Firefox,但由於某種原因,Chrome瀏覽器無法做正確的事情,當我鍵入鉻不尊重顯示屬性

<table style="display:inline;"> 
    table stuff 
</table> 

火狐對齊:firefox alignment http://dkarapet.userworld.com/cart_noDB/firefox_alignment.png

鉻對齊:chrome alignment http://dkarapet.userworld.com/cart_noDB/chrome_alignment.png

兩個版本使用相同的HTML源代碼是將display屬性設置爲內聯。這些表格不會被任何其他div封裝,而且它們都被封閉在一個大的div中。以下是關於html相關部分的pastie

回答

1

要拉你以後,你只需要把它添加到每一個TD:

<td valign="top"> 

這將迫使一切,每個單元的頂部,將迫使東西內嵌顯示,如何希望他們。這裏沒有需要的CSS。

應該是編碼這樣的:

<table> 
<tr> 
    <td valign="top">item 1 info</td> 
    <td valign="top">item 2 info</td> 
    <td valign="top">item 3 info</td> 
</tr> 
<tr> 
    <td valign="top">item 4 info</td> 
    <td valign="top">item 5 info</td> 
    <td valign="top">item 6 info</td> 
</tr> 
</table> 

編輯:或者,如果(出於某種原因)你不使用TR和TD的你可以試試這個:

<table style="vertical-align:top;"> 
    table stuff 
</table> 
+0

謝謝老兄。那就是訣竅。現在它在Chrome和Firefox中顯示相同的方式。我甚至不會打擾IE。 – davidk01 2010-07-13 08:15:19

+0

我在16分鐘前發表了評論:p – 2010-07-13 08:15:51

+0

@meder - 您剛剛列出了一些關於'vertical-align'的模糊評論,它適用於表中至少三個不同的元素。 @Tim實際列出了做出這個訣竅的確切代碼,這就是爲什麼我接受了他的答案。 – davidk01 2010-07-13 08:20:43

6

嘗試inline-block

+0

當然,這是正確的答案?像夢一樣工作,比'vertical-align:top'更具語義性? – Hogsmill 2011-07-23 07:11:21

3

爲什麼地球上你會設置一個表格元素爲內聯?它應該是一個表格的顯示。用戶錯誤IMO。

你必須改變所有trtd元素的顯示模式,否則他們將不適當地渲染,很可能。

如果您需要將表格與另一個元素放在同一行中,請在表格中包圍div並將其浮動。不要亂用桌子。

編輯:正如我根據我最後的評論指定的,你應該把vertical-align弄得亂七八糟,並且可能將它設置在表格的頂部。

+2

當然,這是唯一明智的答案。 – 2010-07-13 07:06:31

+0

你是什麼意思?因爲有時候你希望桌子堆疊在一起,而不是堆疊在一起。這是一個用戶錯誤? – davidk01 2010-07-13 07:13:33

+0

@ davidk01 - 閱讀我答案的最後部分。 – 2010-07-13 07:30:06

3

css 2.1定義了inline-table。不知道它有多廣泛的支持,但這聽起來可能是你想要的。

http://www.w3.org/TR/CSS21/tables.html#table-display

雖然從你的截圖,它看起來像你真正想要的是在垂直對齊控制。

+0

瀏覽器支持信息,http://www.w3schools.com/cssref/pr_class_display.asp – 2011-08-15 18:46:01