Chrome 1px td 之间不可避免的间距

Posted

技术标签:

【中文标题】Chrome 1px td 之间不可避免的间距【英文标题】:Chrome 1px unavoidable Spacing between td 【发布时间】:2011-11-15 06:01:54 【问题描述】:

我遇到的问题似乎只在 Chrome 中出现,在其他任何地方都没有。我有一张桌子,它在悬停时应用了一种样式。在其他浏览器中,将鼠标悬停在行的任何部分上时都会应用该样式。但是,在 chrome 中,在每个 td 的边缘,不再应用样式。如果我在单元格之间这个 1px 宽的小区域“检查元素”,元素窗格显示 Chrome 认为我在表格内,但不在行本身内。下面是一些产生这种效果的代码:

CSS:

table.tablesorter tbody tr:hover 
    background: #8dbdd8;
    cursor: pointer;


table 
    border-collapse: collapse;
    border-spacing: 0px;
    border: none;

html

    <table id="myTable" class="tablesorter"> 
        <thead> 
            <tr> 
                <th>Title1</th> 
                <th>Title2</th> 
                <th>Title3</th> 
            </tr> 
        </thead> 
        <tbody>
            <tr> 
                <td>Bach</td> 
                <td>42526</td> 
                <td>Dec 10, 2002 5:14 AM</td> 
            </tr> 
            <tr> 
                <td>Doe</td> 
                <td>243155</td> 
                <td>Jan 18, 2007 9:12 AM</td> 
            </tr> 
            <tr> 
                <td>Conway</td> 
                <td>35263</td>
                <td>Jan 18, 2001 9:12 AM</td> 
            </tr> 
        </tbody> 
    </table>

有人以前见过这个/知道解决方法吗?

如果有帮助,我正在使用 Chrome 13.0.782.220。

现场演示:http://jsfiddle.net/yNPtU/

【问题讨论】:

Losing :hover status on <tr> between <td>'s in Chrome的可能重复 有同样的问题,没有解决方案,除了脏 -1px 定位。实际上是 0.5px,而不是 1px。 【参考方案1】:

有趣的是,这不是由边界引起的。如果您将边框宽度设置为 10 像素,那么导致此问题的单元格之间仍然只有 1 像素。

我尝试设置似乎有效的 tds 的位置。这是一个演示:http://jsfiddle.net/lnrb0b/6harr/

注意:我添加了内边距以保持大小一致

【讨论】:

+1,因为它是一个可能的解决方案。但是可能会对其他浏览器产生一些负面影响,并且由于位置相对计算,肯定会对渲染性能产生一些负面影响。【参考方案2】:

正如this question 中提到的,这将解决它:

td 
    padding: 2px 5px;
    position:relative;

还有JsFiddle。

【讨论】:

【参考方案3】:

默认情况下,表格具有单元格填充和单元格间距。您需要添加:

<table cellspacing="0" cellpadding="0">

【讨论】:

【参考方案4】:

在css中给出border-spacing:-1px

【讨论】:

以上是关于Chrome 1px td 之间不可避免的间距的主要内容,如果未能解决你的问题,请参考以下文章

table 去掉 td之间间距

table 去掉 td之间间距

仅部分之间的表 td 的边框间距

如何在视图之间创建具有可变间距的 UIStackView?

精确到1px的(布局)浏览器兼容问题

SVG 在 Firefox 中未按预期呈现,即