【发布时间】:2011-04-06 01:03:00
【问题描述】:
我现在已经搜索了将近半天...但我找不到为什么 chrome6/7 似乎是与 IE8/FF3.6/Opera 相比唯一不添加填充的浏览器表格单元格的指定宽度。
当然,如果您使用的是 table-layout:fixed,这将变得至关重要, 因为突然之间他们必须注意指定的 px 宽度。
好的,最后我的问题: 有谁知道为什么 Chrome 的计算方式不同,哪个浏览器是正确的(符合标准),希望有一个优雅的解决方案吗?
目前,我唯一的解决方案是带有 chrome.css 的条件注释,我在其中手动将填充添加到宽度...颤抖...
(顺便说一句:任何想告诉 px 宽度不适合 web 开发的人......请随意离开此页面)
补充:(关于回复)
首先感谢您的即时回复...我试图使其尽可能短,因此我将事实减少到最低限度...但是,正如您所提到的,网络开发中有很多变量所以我试图澄清......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4 /strict.dtd">
<html>
<head>
<style type="text/css">
div { width:300px; }
table { table-layout:fixed; width:100%; height:50px; }
td.col1 { width:20px; background-color:blue; }
td.col2 { width:40px; background-color:red; }
td.col3 { width:60px; background-color:yellow; }
td.col3 { width:auto; background-color:yellow; }
td { padding:5px; }
</style>
</head>
<body>
<div>
<table cellpadding="0" cellspacing="0">
<tr>
<td class="col1"></td>
<td class="col2"></td>
<td class="col3"></td>
<td class="col4"></td>
</tr>
</table>
</div>
</body>
现在如果你切换 css 行
td { padding:5px; }
在不同的浏览器中,您会看到 chrome 在宽度内包含填充,而其他浏览器添加它
希望这有助于澄清并提前感谢
伯尼
【问题讨论】:
-
您能否发布一个简短的示例来演示您遇到的问题?
-
您是否提供了有效的文档类型?例如以标准模式渲染。这在尝试控制渲染时会产生重大影响。
-
我在原帖中添加了几行,希望有助于澄清
-
刚刚注意到在您上面编辑的示例中,您的样式表中有两个 td.col3。如果这是您的问题,这将是前额扁平化,我只能假设这是帖子中的一个小错字,而不是您的实际代码。
标签: google-chrome padding column-width