91

我已经看到这种表示法被大量使用,我想知道这两种表示法之间有什么显着的区别吗?

element#id
{
  property: 0;
}

element#id
{
  property: 0px;
}

property: 0px;一直在使用,因为我发现它看起来更干净,但我不确定浏览器的解释是否0px0.

有谁知道哪个更好或更正确?

4

11 回答 11

56

单位标识符是可选的,但没有明显的性能提升(尽管您节省了两个字符)。

CSS2 -来自W3C CSS 2.1 语法和基本数据类型规范

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

(强调我的)

CSS3 -来自W3C CSS Values and Units Module Level 3(目前在撰写本文时的候选推荐中)

对于零长度,单位标识符是可选的(即可以在语法上表示为 0)。

于 2013-05-10T14:34:37.830 回答
35

虽然当值为 时该单位是可选的0,但我倾向于将其保留,因为我可以使用 Chrome 的开发人员工具通过单击该值并按向上/向下箭头键来调整这些值。没有单位,那是不可能的。

此外,CSS 缩小器无论如何都会将单位从值中剥离出来0,因此最终它并不重要。

于 2013-07-23T19:11:01.250 回答
18

他们是一样的。浏览器将两者都解释为 0,因此请选择对您来说更具可读性的内容。

于 2010-11-30T20:51:47.563 回答
12

任何事物的零都是零。0px= 0%= 0em= 0pt=0

大多数人将设备关闭是因为它只是不必要的混乱。

于 2010-11-30T20:54:04.380 回答
5

据我所知,它们之间没有区别,因为0px = 0em = 0ex = 0% = 0. 作为开发人员,完全由您来决定您最喜欢什么(当然,除非您有需要遵循的公司编码标准)。

从我见过的大多数代码示例中,大多数人都使用无单位版本。对我来说,它只是看起来更干净。如果您要推送大量数据(例如,如果您是 Google),那么这两个字节可能会增加大量带宽,尤其是因为您很可能在样式表中重复它们多次。

于 2010-11-30T20:54:24.237 回答
4

零像素等于零英寸和零米等等。0是你所需要的全部。

于 2010-11-30T20:53:04.240 回答
2

我个人觉得00px. 这是两个可以加起来的额外字符。为什么在不需要时添加额外的字节。我已经看到padding: 0px 0px 0px 0px哪些很容易被表达为padding: 0过于频繁。

于 2010-11-30T20:53:47.767 回答
2

你可以使用任何一种——我最好的建议是不要太担心,但要始终如一地以一种或另一种方式去做。我个人更喜欢指定“0px”,原因如下:

  • 使用 0px 使事情与您指定的所有其他“px”大小更加一致
  • 它也更加冗长,并且非常清楚您正在设置零长度而不是“关闭此”标志
  • 如果需要,调整“0px”值使其成为另一个值会稍微容易一些
于 2016-05-09T23:37:19.820 回答
0

正如其他人所说,它是否为 0 并不重要,尽管我选择将测量值添加到我的所有值中,这样其他任何查看我的 CSS 文件的人都可以判断他们可能在其他地方处理哪些测量值。

于 2010-11-30T20:54:55.730 回答
0

zero-units 零值不需要单位。在 CSS 中保存字节的一种简单方法是在值为 0 时不包含单位。例如,0px 和 0 完全相同...

http://csslint.net/index.html

于 2021-05-17T14:07:35.613 回答
0

我知道和 之间应该没有区别0px0我发现有时有.

我试图将这样的对象居中:

position: absolute;
left: max(0px, calc((100vw - 400px)/2));
max-width: 400px;   

它有效,但如果你0px用它代替0它就不行。

于 2020-12-07T11:17:11.127 回答