CSS像素可以算小数吗?


80

CSSpx可以算是零头吗?标准允许吗?如果可以,主流浏览器是否支持它?

伙计们,让我们用文档来备份答案。


@MetalFrog这个问题源于工作中的讨论:-)
Kees C. Bakker

3
具有讽刺意味的是,我最近不得不使用小数像素来获取jQuery UI可排序网格以正确布局。当占位符的边距等于或小于周围项目的边距一个像素时,拖动时网格将在整个位置移动。唯一的解决方法(也是跨浏览器解决方案!)是将占位符的边距减少0.5px。然后,一切正常。无论规格是否主要是学究的,您都必须在一天结束时做您必须做的事情。
克里斯·普拉特

关于浏览器应如何渲染小于1px的行有规则吗?我有很多页面(将Word文档转换为HTML),其中表格边框的宽度对应于像素的一小部分。这些在IE和firefox中显示为1px,但是在chrome中根本看不到边框
Andy

1
您最初是关于小数或小数的问题吗?小数将是1/3,而小数将是0.33(重复)。在数学上,有区别,如果有人在乎数学的技术性,那就是计算机。
迈克

1
非重复的,但相关的-小数像素的讨论被尊重被渲染: stackoverflow.com/questions/4308989/...
桑迪·吉福德

Answers:


69

是的,您可以指定小数像素。自从第一个版本开始,它就已经成为CSS的一部分,因此所有完全支持CSS的浏览器都应该很好地支持它。

参考:CSS 2.1:4.3.2长度

“长度值的格式(在本规范中用<length>表示)是<number>(带或不带小数点),后跟一个单位标识符(例如px,em等)。”

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


1
@ KeesC.Bakker:我刚刚添加了。:)
Guffa

6
问题是,不同的浏览器的回合方式有所不同:stackoverflow.com/a/5587820/405015
十年

4
找到了一个有趣的博客主题:ejohn.org/blog/sub-pixel-problems-in-css
cboler 2012年

12
为了澄清,分数将是1/3,而小数将是0.33(重复)。我承认这部分是语义的(不是数学专业的,不是),但是正确的答案是CSS不支持分数或分数像素。但是,它支持十进制像素值。
迈克

4
@Mike:分数可以用不同的方式使用,就像十进制这样,可以指定具有小数部分的数字或以10为基数的数字。
Guffa 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.