【问题标题】:Is there such a thing as fractional pixel?有没有小数像素之类的东西?
【发布时间】:2012-06-26 22:30:50
【问题描述】:

我刚开始帮助一些同事进行一些网页设计。没什么大不了的,但是我对应该填充分配的 div 区域的样式菜单元素有问题,我注意到虽然我可以通过在其中添加小数点来调整 ff 中的宽度设置,但我注意到在铬中,最后一个样式之间的差距元素和 div 边框很大。我检查了尺寸并意识到铬以四舍五入的整数值显示尺寸(S)。有人知道这是为什么吗?

【问题讨论】:

  • 不同的浏览器以不同的方式呈现某些属性/元素。
  • 即将进行某种亚像素处理:trac.webkit.org/changeset/117815
  • 您是否使用百分比来确定您的尺寸?

标签: html css


【解决方案1】:

没有像分数像素这样的东西。像素是最小的屏幕单位。

您遇到的事情是由于浏览器的数学引擎而发生的。其中一些将小数像素部分向上舍入到下一个整数,而另一些则将其向下取整。

为避免这种情况,只需定义不带小数点的像素。如果你想让这 2 个元素 在视觉上 更接近,你可以玩弄颜色,例如 - 如果你给某些元素设置更暗的边框,它们看起来会更接近 - http://jsfiddle.net/fDbUj/

【讨论】:

  • 谢谢。我知道没有小数像素之类的东西,但是我想知道为什么有些浏览器允许处理它,而为什么有些则不允许
  • 我注意到,当我在 Firefox 中使用 Firebug 并给 padding 10.5px 时,它大于 10px 小于 11px。舍入选项真的有效吗?
  • @KingsInnerSoul 如果像素是屏幕上的最小单位,这怎么可能?你不能只突出或变暗它的一半。你确定你使用的是像素而不是点或 em-s?
  • 100% 确定。我拥有的<li> 标签是 175 像素。他们只是有点害羞填充它们嵌套的整个行。如果我使用 Firebug 将填充从 10px 更改为 10.5px,它们会完美地填充行。如果我更改为 11px,最后一个元素会流到第二行。但我没有尝试在 Firebug 之外使用它。
  • 好的,我已经测试了 padding: 10.5px,它适用于 IE-10、FireFox-21、Chrome-27。所以上面的注释与<li> 元素的宽度 - 如果我为<li> 使用176px 的宽度和10px 的填充或175px 的<li> 宽度和10.5px 的填充,我会得到相同的结果。跨度>
猜你喜欢
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 2011-05-25
  • 1970-01-01
  • 2010-10-30
  • 2011-12-30
相关资源
最近更新 更多