2010-07-19 21 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