我有一个带有 css 的简单表格。当我向中间行添加底部边框时,下一行有一个非常奇怪的边框。它只发生在 chrome 中,我不知道为什么。
我应该说我使用javascript将底部边框应用到中间行(因为我事先不知道表格的大小)。我尝试在没有 JavaScript 的情况下进行应用,并且它没有出现奇怪的问题。
这是表格的示例,注意中间的边框: http://ri-cloud.appspot.com/super_tacticko?create
这是我用来创建中间线的javascipt:
// add the middle line
var half = height / 2; // it has to be zugi anyway
var $middle = $('tr').slice(half-1, half);
$middle.find('td').addClass('middle-td');
最佳答案
如果调整窗口大小可以解决问题(就像我的情况一样),那么很可能是一个渲染错误...Chrome 会不时出现许多这样的错误,主要是因为它试图更快比其他一切都通过偷工减料(我认为)。
解决错误的唯一方法是不断尝试不同的方法,直到找到一种不会触发问题的方法,或者尝试在创建表/正文后以编程方式调整其大小,然后将其放回再次调整大小 - 这可能会迫使 Chrome 正确重绘...并且应该发生得足够快,用户不会注意到。第三种方法可能是完全用 JavaScript 构建表格,一旦正确形成,将其嵌入到页面中。
CSS 方法之所以有效,是因为它将在渲染过程中与 JavaScript 样式修改的不同点使用 Chrome 的渲染方法。
基本上,我见过 Chrome 做了一些非常奇怪的事情。我过去用来解决奇怪的 Chrome 问题的技巧是:
- 在尺寸计算中使用小数 - 即
30.1px
而不是30px
- 未将不透明度设置为完全 - 即
0.99
而不是1.0
- 设置 Cookie 时不要使用以
.
为前缀的 IP 地址 - 使用
overflow:hidden
修复某些情况下的奇怪渲染。
哦,仅供记录,我正在 Windows 7 上通过 Chrome v25.0.1364.97 查看
关于javascript - CSS - 仅在 Chrome 中表格单元格边框的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218776/