原理

  1. 在css中如果值为0,可以省略单位。
  2. 在css应用场景中,有可能是多端多人维护。即可能维护的人有A及B及C…,应用场景中有电脑端及手机端及小程序及打印机之类的。

结论

个人认为不要省略单位,不要留下后续维护的坑。多端多设备时,最好当时就想好用什么单位更合适,如果想不到,用rem或px也行,反正实际表现是一样的,后续别人维护,自然会去改单位。

说明

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

来源

  1. CSS 单位;
  2. css长度单位讲解 (超详细);
  3. 当在CSS中指定0值时,应该明确标记单位还是省略?;
  4. 遇到 0px 需不需要写单位 px ?;
  5. 解决CSS3transition-delay属性默认值0不带单位失效的问题;
  6. 不要省略CSS中零值的单位!;

2021-10-25 css中零值0后面是否要省略单位的更多相关文章

  1. cordova 导致css中绝对定位top:0会被顶到视图之外

    IOS7+ webview全屏导致状态栏悬浮在页面上 解决方案:打开 ios项目/classes/MainViewController.m,修改viewWillAppear方法 - (void)vie ...

  2. float 浮点数与零值0比较大小

    float x: 千万不要写x==0; 写出float x 与“零值”比较的if语句——一道面试题分析 写出float  x 与“零值”比较的if语句 请写出 float  x 与“零值”比较的 if ...

  3. float 浮点数与零值0比较大小 ZZ

    float x: 千万不要写x==0; 写出float x 与“零值”比较的if语句——一道面试题分析 写出float  x 与“零值”比较的if语句 请写出 float  x 与“零值”比较的 if ...

  4. CSS中设置margin:0 auto; 水平居中无效的原因分析

    很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0 auto;却没有效果,不能居中的问题,margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应,其 ...

  5. 关于CSS中text-decoration值没有替换而是累积的疑问

    做了个实验: <!DOCTYPE html> <html> <head> <title>BaiDuTest.html</title> < ...

  6. 山东理工大学第七届ACM校赛-最大收益问题 分类: 比赛 2015-06-26 10:25 51人阅读 评论(0) 收藏

    最大收益问题 Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 铁牌狗最近迷上了一款游戏,但铁牌狗实在是太笨了,他还是要请求你的帮助. 有 ...

  7. css中属性值继承小解

    继承:html元素可以从父元素那里继承一部分css属性,即使当前元素没有定义该属性. 1.css可以和不可以继承的属性 不可继承的:display.margin.border.padding.back ...

  8. 日常Java 2021/10/25

    ArrayList存储数字 import java.util.ArrayList; public class Arr_test { public static void main(String[] a ...

  9. Digital Roots—HDU1013 2016-05-06 10:25 85人阅读 评论(0) 收藏

    Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  10. css中font-size为0的妙用(消除内联元素间的间隔)

    前言 <div> <input type="text"> <input type="button" value="提交& ...

随机推荐

  1. [转帖]Kafka 核心技术与实战学习笔记(八)kafka集群参数配置(下)

    一.Topic级别参数 Topic的优先级: 如果同时设置Topic级别参数和全局Broker参数,那么Topic级别优先 消息保存方面: retention.ms:规定Topic消息保存时长.默认是 ...

  2. ARM下KVM虚拟化的损耗验证--redis

    ARM下KVM虚拟化的损耗验证 摘要 看Windows 上面的 Workstation的虚拟机的 网络层的延迟特别高. 突然想之前统计都是直接在本地验证的, 只考虑了虚拟化CPU的性能损耗 没有考虑虚 ...

  3. 原生js中offsetTop, offsetLeft与offsetParent的详细讲解

    简单说下:offsetTop offsetTop: 为只读属性. 返回的是一个数字. 它返回当前元素相对于其 offsetParent 元素的顶部内边距的距离. 它等价于offsetTop==> ...

  4. 【解决一个小问题】golang 的 `-race`选项导致 unsafe代码 panic

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 为了提升性能,使用 unsafe 代码来重构了凯撒加密的代 ...

  5. Typora 1.6.7永久激活

    介绍Typora介绍 具体看上面的我就不多介绍了 接下来我们开始教程 需要的文件 Typora安装包 破解补丁包 安装包下载 破解补丁下载 接下来我们全部下载后获得一个安装包一个补丁 安装包直接安装就 ...

  6. 不同版本的Unity要求的NDK版本和两者对应关系表(Unity NDK Version Match)

    IL2CPP需要NDK Unity使用IL2CPP模式出安卓包时,需要用到NDK,如果没有安装则无法导出Android Studio工程或直接生成APK,本篇记录一下我下载NDK不同版本的填坑过程. ...

  7. MacType更好的字体渲染

    初步尝试 下载 noMeiryoUI 和 苹果简方字体,通过noMeiryoUI替换系统字体 建议使用苹果简方 常规体 10px,字体下载地址 mactype 我的系统:win10 lts 1809, ...

  8. Elasticsearch Relevance Engine---为AI变革提供高级搜索能力[ES向量搜索、常用配置参数、聚合功能等详解]

    Elasticsearch Relevance Engine---为AI变革提供高级搜索能力[ES向量搜索.常用配置参数.聚合功能等详解] 今天要介绍的 Elasticsearch Relevance ...

  9. 环境调试bug【一】

    1.报错修改`np.bool`---bool H:\Anaconda3-2020.02\envs\parl\lib\site-packages\paddle\fluid\framework.py:54 ...

  10. 知乎利用 JuiceFS 给 Flink 容器启动加速实践

    本文作者胡梦宇,知乎大数据架构开发工程师,主要负责知乎内部大数据组件的二次开发和数据平台建设. 背景 Flink 因为其可靠性和易用性,已经成为当前最流行的流处理框架之一,在流计算领域占据了主导地位. ...