删除元素之间的可见的间隙(可能铬缺陷)(Remove visible gaps between el

2019-10-21 03:39发布

如何删除下面的图像中的三种标记差距?

该代码可在http://jsfiddle.net/69zj6smo/ -调整渲染区域看,有些行通常存在。

是什么让我困惑的是,我觉得我一直在创建流体/个布局是这样的,我不记得在任何浏览器这种视觉假象(布局错误,或可能浏览器缺陷)以前。

无论是否存在分数像素(如在放大或高DPI模式)或没有(见: ?有这样的事分数像素 ),它并不能解释这个问题。 在我看来,没有理由,否则优秀的浏览器(谷歌浏览器37.0.2062.124男,也38.0.2125.104米)以不同的方式回答这个问题的存在对于在一个页面上的不同元素。

最可疑,将难以看到间隙“A”之间发生TD元素,当背景色被实际施加到TR元件。 无论像素宽度的我不希望在TR出现断裂。

然而,一个之间的间隙“B” width: 100%之间表和它的父,并且“C” float: left兄弟姐妹也感到奇怪。 然而父选择来计算的宽度,我期望一个width: 100%的孩子使用相同的方法,但是与同级选择来计算位置,我期望以下浮子被精确地相邻的。

在上述每种情况下,看着在“F12开发人员工具检查”所计算的尺寸,我可以看到视觉间隙表示实际值,例如一个父DIV的282.375宽度,和一个子TABLE的282.0个像素的宽度。

有这些问题一直存在,我只是从来没有注意到呢? 就如何解决这个,但任何建议保留我的网页上一些流动性? 我没有看到这件神器在IE浏览器,这是无疑的缺陷?

更新:我发现这可能与我的3200px宽的笔记本电脑显示屏,这使得Chrome的高DPI模式,并揭示了某些缺陷。 然而,(通过与发射停用Chrome的高DPI模式“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” /high-dpi-support=1 /force-device-scale-factor=1 ,或通过设置HKEY_CURRENT_USER\Software\Google\Chrome\Profile\high-dpi-support0 ,使得一切适当微小的,但不解决这个明显的像素四舍五入问题。

更新2:提起Chrome的缺陷报告。 https://code.google.com/p/chromium/issues/detail?id=424288

Answer 1:

这似乎是两种或更多种铬缺陷的结果。

空白(图中的“B”)的最值得注意,似乎被报道在一年前这里的缺陷造成的: https://code.google.com/p/chromium/issues/detail?id=241198 (重复的缺陷报告如下: https://code.google.com/p/chromium/issues/detail?id=306878 )。 请投票这些缺陷了,如果这个回答你的问题。

更微妙的问题(“A”和图像“C”)只出现在Chrome的高DPI模式。 这可能是与此相关的缺陷: https://code.google.com/p/chromium/issues/detail?id=403955 。 但是,我并没有深挖不足以保证我明白了一个。 无论如何,我不确定为什么在发行“A”具体而言,将是在孩子的(理论上连续)TR可见伪像(TD)的边界,但如果不是因为所产生的视觉,落实细节是不相干的我缺陷。



文章来源: Remove visible gaps between elements (possible Chrome defect)