2012-08-09 102 views
-1

我在选择表格单元格时遇到问题。造型表单元格的宽度

我定义我的表格单元格有以下测量:

cell 1: 220px 
cell 2: 315px 
cell 3: 265px 
cell 4: 200px 
Adds to 1000px 

在浏览器中打开表时,我得到的测量:

 cell 1: 190px 
    cell 2: 264px 
    cell 3: 222px 
    cell 4: 168px 
    Adds to 844px 

请注意,我不设置宽度桌子。除了该表外,我在页面上也没有其他元素。为什么会发生?

+0

您是否删除了所有填充,边框和单元格间距? – igor 2012-08-09 09:17:06

+0

您需要显示您的HTML/CSS。 – thirtydot 2012-08-09 09:36:04

回答

2

试试这个:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <style type="text/css" media="screen"> 
     table { border-collapse: collapse; table-layout: fixed } 
     td { padding: 0; border: 1px solid black } 
     </style> 
    </head> 
    <body> 
     <table> 
     <col width="220" /> 
     <col width="315" /> 
     <col width="265" /> 
     <col width="200" /> 
     <tbody> 
      <tr> 
       <td>col 1</td> 
       <td>col 2</td> 
       <td>col 3</td> 
       <td>col 4</td> 
      </tr> 
     </tbody> 
     </table> 
    </body> 
</html> 

col是用来layout the table cells合法元素。

在上面的例子中,Firebug将以希望的大小显示单元格的宽度,以像素为单位减去1px的边界(这将崩溃)。整个桌子的宽度将是1000px。

+0

为真。在FF它的工作原理..但在铬它显示较小的测量 – 2012-08-09 09:35:34

+0

我的铬(21.0.1180.60米)显示相同的值FF ... – 2012-08-09 09:57:52

0

我们确实需要更多的代码来评估这一点。请创建一个演示js小提琴。

您是否在表本身上使用了样式规则:table-layout:fixed; border-collapse: collapse;以及属性:border="0" cellpadding="0" cellspacing="0"? 你是否也设置了1000px的预期总表宽度?

+0

大声笑它甚至更进一步 – 2012-08-09 09:37:58

+0

表单元格是否有任何内容? – GitaarLAB 2012-08-09 09:42:17

0

设置您的表格的宽度,您会得到正确的结果。

See this fiddle.

+0

设置表格宽度没有帮助 – 2012-08-09 09:39:01

+0

@GitaarLAB请在评论前检查小提琴和答案。 – Alex 2012-08-09 09:42:09

+0

@亚历克斯托马斯:打听一下,你完全正确。请接受我的道歉,我甚至会为你的答案投票!总有一天会犯一个严重的错误..真的对不起!我也可以删除我对这个答案的评论,以保持未来的清洁!然后,我会睡觉,学会了连续24小时回答问题,这不是一个好主意,哈哈。 – GitaarLAB 2012-08-09 09:52:03