Chrome错误地将像素渲染为分数

时间:2013-12-20 21:12:33

标签: css html5 google-chrome

编辑:已解决。 “View< Actual Size”解决了问题,而不是将缩放重置为100%。

我一直遇到Chrome浏览器将div渲染为分数而不是指定数字的问题。

例如:

HTML

<div class='tile'>foo</div>

CSS

.tile {
  background-color: #CCCCCC;
  border-width: 2px;
  border-style: outset;
  display: table;
  float: left;
}

不是被渲染为2px,而是从Chrome开发者工具&gt;推断出边界宽度为“1.8181817531585693px”。元素&gt;使用带有jQuery .css函数的调试器进行计算和使用。

还需要注意的一点是,只有当它加载到FTP而不是本地时,才会发生这种情况。 Firefox或Safari中也不会出现此问题。关于Chrome正在做什么或者解决方案的任何想法或解释将非常感激。谢谢!

1 个答案:

答案 0 :(得分:4)

简短的回答是,他们正在处理内部二进制的实数,事情必须快速完成。

因此,一些数字角落可能正在被削减,通常对于普通网页浏览器来说并不明显,即如果页面设计得不明显。

去看看,我知道,你会认为浏览器会更准确,但我发现即使对我的css进行了最细致和最详细的控制,似乎存在舍入错误,在显示时会对细节造成严重破坏

首先,我建议你使用 em 而不是 px 。我知道你可能不得不重新使用你的CSS,但我发现它更可靠,屏幕到屏幕。请记住,现代页面不是基于像素。它们是动态的野兽,可以放大和缩小,并且缩小范围并且仍然必须输出合理的东西。

此外,我建议您重新考虑如何布置页面,以便这些小细节不是问题。在木工技术领域,技术人员知道如何用模制物隐藏粗糙边缘。

我有一个非常准确的网页,用于生成特殊的印刷传单。迫使html和css成为他们不想做的事情是一种皇家的痛苦,这是准确的。

此外,我可以在5个主要浏览器上测试我的生产网站,相互之间,因此当我在它们之间切换时,从一个浏览器到另一个浏览器,我看到的差异很小。它们以各种方式相互脱离,实际上没有办法让它们准确无误。