2021-10-25 css中零值0后面是否要省略单位
原理
- 在css中如果值为0,可以省略单位。
- 在css应用场景中,有可能是多端多人维护。即可能维护的人有A及B及C…,应用场景中有电脑端及手机端及小程序及打印机之类的。
结论
个人认为不要省略单位,不要留下后续维护的坑。多端多设备时,最好当时就想好用什么单位更合适,如果想不到,用rem或px也行,反正实际表现是一样的,后续别人维护,自然会去改单位。
说明
- 从程序员的角度来看css单位中, 0 == null == none == false == 不写值 ,这意味着如果指定为0代表没有或无。以边框举例,如果指定边框宽度为0代表没有边框;但如果指定一个边框宽度为0px,那么将创建一个0px的边框。两者表现一致,但含义不一致,但一般默认的css样式就是无,之所以要特意改为零值,往往是因为引入的第三方代码或全局代码中,设置了一个不为零值的css样式。有单位时更容易让人理解为当前需求要求为无边框但用了0px来实现该效果,后续还有可能要动这个边框。
- 谷歌浏览器调试中,如果有单位,可以用向上键及向下键细调高度。如果是0,那么就不能直接细调了。
- 当前css样式的人大概是你自己,并且此时你大概知道后续的需求或改进的大概的单位数量级。所以你写了单位,别人后续可以直接在你当前的单位上细调,而不用再去想该用什么单位。也就是说,在你写自己负责的代码时,往往没人比你更懂对应的业务,更利于维护。并且,后面如果你忘记了,也更容易想起。
- 省略单位更容易出错,因为以后的更改可能会意外地忽略该单位。
- 省略单位不太符合文档中其他地方的非零元素,因为可省的一般只限于长度,时间、角度等等有可能就不可以省略。不省略单位,更容易让人知道要改动的值。同时代码更规范,别人不用特意去记长度的零值可以省略单位这一个小知识细节。