CSS中的'property:0'或'property:0px'?

Ble*_*der 75 css properties zero

我已经看过这个符号使用了很多,我想知道,这两个符号之间有什么明显的区别吗?

element#id
{
  property: 0;
}
Run Code Online (Sandbox Code Playgroud)

element#id
{
  property: 0px;
}
Run Code Online (Sandbox Code Playgroud)

property: 0px;一直都在使用,因为我觉得它更干净,但我不确定浏览器的解释是否与之0px不同0.

有谁知道哪一个更好还是更正确?

Chr*_*ier 51

单位标识符是可选的,但是没有着名的性能提升(虽然你节省了两个字符).

根据W3C CSS 2.1语法规范和基本数据类型:

长度值的格式(在本说明书中由<length>表示)是<number>(带或不带小数点),紧接着是单元标识符(例如,px,em等).在零长度之后,单元标识符是可选的.

(强调我的)

  • 当 GZIP 压缩处于活动状态时,怀疑您是否真的节省了 2 个字节。对我来说,这取决于你对什么感觉舒服。不过,有些 CSS Linter 可能不喜欢 0px。 (2认同)

Ble*_*der 32

虽然单位在值时是可选的0,但我倾向于将其保留,因为我可以通过点击数值并按向上/向下箭头键来调整Chrome开发者工具的值.没有单位,这是不可能的.

而且,CSS minifiers 0无论如何都会从单元中删除单元,所以最终它并不重要.

  • 如果您在没有标识符的0上按向上/向下箭头键,则Chrome的开发人员工具默认为px.此外,在Chrome的开发人员工具中,如果向下箭头指向0,则会保留px. (8认同)
  • +1观察到缩小器知道这一点,并且通过包含它们来获得功能。 (2认同)

Seb*_*lli 15

他们是一样的.浏览器将两者解释为0,因此请使用更易读的内容.

  • -1代表有争议内容的答案,没有任何参考,链接或理由.请用数据备份您的意见或明确说明您的意见,而不是事实信息. (3认同)

Chu*_*uck 9

零的零是零.0px= 0%= 0em= 0pt=0

大多数人都离开了这个单元,因为它只是不必要的混乱.


Age*_*rum 5

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

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

  • 如果您正在推送大量数据(例如,如果您是Google),您最好使用为您执行此操作的缩小工具:p (6认同)