【发布时间】:2012-09-20 14:10:24
【问题描述】:
我们正在重做整个网站。当前网站已有 7 年多的历史,但似乎有一个仅出现在基于 Webkit 的浏览器(Chrome 和 Safari)中的 CSS 错误。我们希望修复该错误,因为新网站可能需要一段时间才能准备好。
我们有一个固定宽度的表格:
<table width="1000" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td class="left" width="200" valign="top">
Contents of the menu here.
</td>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
Contents of website here.
</table>
</td>
</tr>
</table>
相关元素和类的CSS如下:
td {
font-size: 11px;
}
td.left {
width: 200px;
padding-top: 50px;
background-color: #EFEFEF;
}
td.top {
height: 16px;
align: right;
padding-bottom: 2px;
}
问题在于 Webkit 将 left 类的 td 计算为 161 像素而不是 200 像素。我可以通过添加style="display: block" 或style="min-width: 200" 来解决此问题,但是当我这样做时,Webkit 会将第一个表格的大小调整为 1039 像素而不是 1000 像素,从而导致页面的其余部分到处移动。它似乎完全忽略了固定宽度的要求。
我想知道是否有办法在不大幅改变网站结构的情况下解决此问题。如果需要,您可以在 the website in question 上使用 CSS。请注意,该错误仅出现在 Chrome 和 Safari 中。我检查了许多关于 Webkit 的错误报告和许多 Stack Overflow 问题,但似乎没有一个与我的问题完全匹配。
【问题讨论】:
-
我将尝试在我的服务器上提出这个问题,看看是否可以解决,请稍等。文档使用什么 DOCTYPE?
-
我将代码放在我的服务器上,它可以按您的意愿工作。表格是 1000 像素,td.left 元素是 200 像素。您缺少一些东西。
标签: php css html-table webkit fixed-width