2010-07-19 78 views
0

我有一個<td>,因爲它只包含&nbsp;,所以它幾乎是空的。我試圖強制執行的高度爲110像素,但由於某種原因,表格單元格的高度爲182.317像素。爲什麼?表格單元不堅守高度我試圖強制執行

有我已經查了幾件事情:

  • 適用於非打破空間的font-size沒有被設置的東西,無法放入表格單元格。
  • 爲了使其內容適合該單元格,同一行上沒有需要拉伸的表格單元格。
  • 沒有一段CSS代碼覆蓋了我想要的高度,使用莫名其妙的182.317像素值。

還有什麼可能是罪魁禍首?單元格在Chrome中呈現預期的高度,但在Firefox 3.6中會出現混亂。渲染模式是XHTML 1.0 Strict(是的,我確認了)。

更新:您可以查看和分析頁面http://labs.pieterdedecker.be/vspwpg/。我所說的<td>leftbartop

+1

請顯示一些代碼。 – 2010-07-19 20:18:09

+0

你可以發佈整個表的代碼嗎? – 2010-07-19 20:19:09

+0

你需要顯示一些代碼,brah。這是我沒有受過教育的猜測:請檢查您是否使用了px,而不是pt用於您的字體或尺寸規格。可以解釋爲什麼一個瀏覽器看起來很好,另一個很大(顯示設置可能會有所不同)。但是對於真實的,一些代碼會很好。 – rownage 2010-07-19 20:23:41

回答

0

您不會說表中的哪一列存在問題。但是,我懷疑它是:

<td id="bottombar2" colspan="2"></td> 

屬性colspan="2"告訴細胞是兩行高。你的行數是95px,這會使它達到190px的高度(大概是你看到的高度)。

表中的每一行都指定了不同數量的列5,1和3.這可以解釋爲什麼表由不同的瀏覽器呈現不同的表。

+0

'td#bottombar2'呈現良好,它是'td#leftbartop'我遇到了問題。 (我應該澄清,我知道。)另外,我認爲'colspan =「2」'告訴細胞是兩個細胞寬而不是兩個細胞高。還是我誤會了? – Pieter 2010-07-19 20:49:08

+0

我的不好。我混淆了rowspan和colspan。在這種情況下,第一行與第二行一樣有三列,但第三行有四列。我不明白爲什麼leftbartop是一個問題。 – 2010-07-19 20:59:10

+0

D'oh。我不知道它是如何發生的,但是當我發佈表骨架時,我不知何故忘記了第一行的第四列,即'。所以每行通常包含四列,但這不是問題所在。你可以在這裏查看網站:http://labs.pieterdedecker.be/vspwpg/ – Pieter 2010-07-20 18:54:28

0

您是否設置了line-height表格單元格或級聯中的某個地方直接影響它?

+0

我沒有設置影響表格的'line-height'的值。但是,我可以確認Firebug在單元格內報告了18px。我使用'line-height'的唯一地方會影響'ul#menu> li> ul li'。 – Pieter 2010-07-19 20:28:28

0

不,如果你說

{height:95px !important;} 

也許你已經設置填充或類似的東西,那是影響TD

+0

唉,添加'!important'不起作用。將考慮填充/保證金。 – Pieter 2010-07-19 20:25:18

+0

更新:刪除表和其單元格中的所有填充/邊距不能解決問題。 – Pieter 2010-07-19 20:41:18

2

使用Firebug它的工作,並採取一看,通過部件檢查的單元格。在使用Firebug的右下角,看看風格。向下滾動,直到看到設置單元格高度的區域。如果仍然無法找到它,請嘗試在樣式區域中單擊鼠標右鍵,然後將其添加到最頂端的樣式選擇器中。

最終,您會發現覆蓋樣式的罪魁禍首,或者您將能夠找到可用於覆蓋正在應用的樣式的類。您也可以使用Google Chrome's開發人員工具執行相同操作(只需在頁面上的任意位置單擊鼠標右鍵並選擇「檢查元素」即可)。

+0

+1。雖然這在技術上不是一個答案,但它是找到所給信息的最佳方法。我也推薦這個。 – 2010-07-19 20:28:52

+0

我使用Firebug來查找計算出的高度(如我的問題所示),所以我很清楚這些工具確實可以非常有用。 Chrome的元素檢查器和Firebug經常幫助我解決CSS問題,但這次他們還不夠。 – Pieter 2010-07-19 20:35:31