'property: 0' or 'property: 0px' in CSS?

百般思念 提交于 2019-11-26 08:22:28

问题


I\'ve seen this notation used a lot, and I was wondering, is there is any notable difference between these two notations?

element#id
{
  property: 0;
}

and

element#id
{
  property: 0px;
}

I use property: 0px; all the time, as I find it cleaner looking, but I\'m not really sure if the browser interprets 0px differently than 0.

Does anyone know which one is better or correct?


回答1:


Unit identifiers are optional, but there is no noted performance increase (although you are saving two characters).

CSS2 - From W3C CSS 2.1 Specification for Syntax and basic data types:

The format of a length value (denoted by <length> in this specification) is a <number> (with or without a decimal point) immediately followed by a unit identifier (e.g., px, em, etc.). After a zero length, the unit identifier is optional.

(Emphasis mine)

CSS3 - From W3C CSS Values and Units Module Level 3 (Currently in Candidate Recommendation at the time of this writing)

For zero lengths the unit identifier is optional (i.e. can be syntactically represented as the 0).




回答2:


While the unit is optional when the value is 0, I tend to leave it in, as I can then tweak the values with Chrome's Developer Tools by clicking on the value and pressing the up/down arrow keys. Without a unit, that isn't really possible.

Also, CSS minifiers strip the units off of 0 values anyways, so it won't really matter in the end.




回答3:


They are the same. The browser interprets both as 0, so go with whatever is more readable for you.




回答4:


Zero of anything is zero. 0px = 0% = 0em = 0pt = 0

Most people leave the unit off because it is simply unnecessary clutter.




回答5:


As far as I'm aware there is no difference between them, since 0px = 0em = 0ex = 0% = 0. It's purely up to you, as the developer, to decide what you like best (unless you have corporate coding standards that you need to follow, of course).

From most of the code samples I've seen, most people use the unitless version. To me, it just looks cleaner. If you're pushing a significant amount of data (say, if you're Google), those two bytes can add up to a lot of bandwidth, especially since you're quite likely to repeat them multiple times in your stylesheet.




回答6:


Zero pixels is equal to zero inches and zero meters and so forth. 0 is all you need.




回答7:


I personally find 0 cleaner than 0px. That's two extra characters that can add up. Why add extra bytes when you don't need to. I have see padding: 0px 0px 0px 0px which can easily be expressed as padding: 0 way too often.




回答8:


You can use either - my best advice is not to worry too much but be consistent in doing it either one way or the other. I personally prefer to specify '0px' for the following reasons:

  • Using 0px makes things more consistent with all of the other 'px' sizes you've specified
  • It's also more verbose and makes it very clear that you're setting a zero length rather than a 'switch this off' flag
  • It's slightly easier to tweak a '0px' value to make it another value if required



回答9:


As the others say, it doesn't really matter if its 0, though I choose to add the measurements to all of my values so anyone else looking at my CSS files can gauge what measurements they're likely to deal with elsewhere.



来源:https://stackoverflow.com/questions/4318471/property-0-or-property-0px-in-css

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!