【问题标题】:Can a CSS pixel be a fraction?CSS像素可以是分数吗?
【发布时间】:2012-01-31 13:51:55
【问题描述】:

CSS px 可以是一个分数吗?标准允许吗?如果支持,主流浏览器是否支持?

伙计们,让我们用文档来支持答案。

【问题讨论】:

  • @MetalFrog 这个问题源于工作中的讨论:-)
  • 具有讽刺意味的是,我最近不得不使用小数像素来让 jQuery UI 可排序网格正确布局。当占位符上的边距与周围项目的边距相同或比其小一个像素时,拖动时网格会在整个位置移动。唯一的解决方法(以及跨浏览器的解决方法!)是将占位符的边距减少 0.5 像素。然后,一切正常。不管是不是规范,大部分都是迂腐的,你必须在一天结束时做你必须做的事情。
  • 是否有关于浏览器应如何呈现小于 1px 的行的规则?我有很多页面(Word 文档转换为 HTML),其中表格边框的宽度对应于像素的一小部分。这些在 IE 和 firefox 中显示为 1px,但边框在 chrome 中根本不可见
  • 您最初的问题是关于分数还是小数?小数是 1/3,而小数是 0.33(重复)。在数学上是有区别的,如果有什么东西关心数学的技术性,那就是计算机。
  • 非重复,但相关 - 讨论渲染尊重的分数像素:stackoverflow.com/questions/4308989/…

标签: css w3c


【解决方案1】:

是的,您可以指定小数像素。由于这从第一个版本开始就是 CSS 的一部分,因此任何支持 CSS 的浏览器都应该很好地支持它。

参考:CSS 2.1: 4.3.2 Lengths

"长度值的格式(在此用表示 规范)是一个(带或不带小数点) 紧跟一个单位标识符(例如 px、em 等)。"

当元素显示在屏幕上时,大多数浏览器在使用 100% 缩放级别时会自然地将位置四舍五入到最近的像素。在更高的缩放级别上,您会注意到可以识别小数像素值。

【讨论】:

  • @KeesC.Bakker:我刚刚添加了这个。 :)
  • 问题是,不同的浏览器舍入不同:stackoverflow.com/a/5587820/405015
  • 发现了一个关于这个主题的有趣博客:ejohn.org/blog/sub-pixel-problems-in-css
  • 澄清一下,小数是 1/3,而小数是 0.33(重复)。我承认它部分是语义(不是数学专业的,不是),但正确的答案是 CSS 不支持分数或分数像素。但是,它确实支持十进制像素值。
  • @Mike:术语分数可以以不同的方式使用,就像术语小数可以指定具有小数部分的数字或以十为底的数字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
  • 2013-08-17
  • 2010-09-28
  • 2017-09-13
相关资源
最近更新 更多