我遇到了谷歌浏览器的问题(版本:15.0.874.121米):当一个块的宽度小于0.99像素(精确)时,它显示不正确 - 带有内部文本的宽度。
示例代码:
<style>
.frame { float: left; border: solid; }
.frame div { width: 0.98px; overflow: hidden; }
</style>
<div class="frame"><div>Long text</div></div>
这是一个现场演示:http://jsfiddle.net/bDTgX/1/
相同的代码在Firefox,Opera和Internet Explorer中运行良好。
可能是什么原因(Chrome中的错误?) - 以及如何解决?
答案 0 :(得分:1)
webkit和小数像素存在错误。
答案 1 :(得分:1)
我不会说这确实是一个错误,但它正是webkit如何舍入子像素指标。请注意,它正在考虑将.99向上舍入,其他任何事情都在四舍五入......
如果它向下舍入为零,它就会被忽略,因为它假设你犯了一个错误。因此,任何小于0.99px的东西都会被忽略,默认为:auto;如果您不喜欢这种方式,请使用max-width:它将符合它的零px。但是四舍五入已经确定,你将不得不处理这个问题。 webkit不支持子像素渲染,就像在gecko(firefox)上一样。