CSS中有多少个值可以/应该是无单位的

CSS中有多少个值可以/应该是无单位的,css,Css,我知道两个 边距{0自动} 线高:1.5 还有其他的吗?对于你的问题,我真的没有答案,但我想说的是,除非你指定了一个0的值,否则我不认为你应该去掉单位。它更容易阅读,而且没有猜测(对于浏览器和其他可能正在阅读CSS的人来说) 编辑:从论坛中获取此内容。它们是接受以下整型值的CSS属性: z指数 字重 线高 计数器复位 反增量 卷 压力 音高范围 丰富 除0以外的每个数值都应有一个单位 margin:0; //Good margin:15; //Bad. Do you want px, e

我知道两个

  • 边距{0自动}
  • 线高:1.5

还有其他的吗?

对于你的问题,我真的没有答案,但我想说的是,除非你指定了一个0的值,否则我不认为你应该去掉单位。它更容易阅读,而且没有猜测(对于浏览器和其他可能正在阅读CSS的人来说)

编辑:从论坛中获取此内容。它们是接受以下整型值的CSS属性:

  • z指数
  • 字重
  • 线高
  • 计数器复位
  • 反增量
  • 压力
  • 音高范围
  • 丰富

除0以外的每个数值都应有一个单位

margin:0; //Good
margin:15; //Bad.  Do you want px, em, %, etc?

我敢肯定,我有过这样的例子:关闭值类型会导致在其他浏览器中出现显示问题。这是因为它们默认为不同的类型。
0在任何类型中都是0。
其中5px(像素)可能与5em(当前字体的宽度大写字母M)大不相同。

作为一种最佳实践,我说要始终使用它们。只需多几个字节的带宽。

当前选择的答案已过时,并且还遗漏了CSS2规范中链接的一些答案。因为我需要一个更及时的答案,这里是我发现的一个简短的总结

请注意,这是一个属性可以是无单位的列表,但不一定总是应该是无单位的。还需要注意的是,任何可以接受
'length'
值的属性都可以接受
0
的无单位值

此列表列出了所有接受数值的CSS3属性([i]nteger或[f]loat):

  • 动画迭代计数(i)
  • 边界图像切片(f)
  • 边框图像宽度(f)
  • 列计数(i)
  • 反增量(i)
  • 计数器复位(一)
  • flex(一)
  • flex grow(一)
  • 弹性收缩(一)
  • 字体大小调整(f)
  • 字重(一)
  • 线路高度(f)
  • 资产净值指数(一)
  • 不透明度(f)
  • 命令(i)
  • 孤儿(一)
  • 制表符大小(一)
  • 寡妇(一)
  • z指数(i)
除此列表外,CSS2规范还专门包括:

  • 俯仰范围(f)
  • 丰富度(f)
  • 语音速率(f)
  • 应力(f)
  • 卷(f)
除此之外,在技术上还有一些不太清楚的问题(与SVG相关):

  • 洪水不透明度(f)
  • 遮罩框开始/遮罩边框开始(f)
  • 遮罩框宽度/遮罩边框宽度(f)
  • 形状图像阈值(f)

而且,FTW,这似乎是一个很好的参考。

但是许多css排版的最佳实践更倾向于使用不太像这里的行高单位,例如@Jitendra-
行高:1.5
表示字体大小的1.5倍;它是线条高度的特殊单位,其含义不同于150%,但类似于
1.5em
线条高度的无单位值继承方式也不同于ems或百分比。指定单位时,计算值将被继承,而使用无单位时,原始数字值将被继承并为每个子级重新计算。您可能会认为这是CSS 101(或者可能是201),但我已经这样做了很多年,直到现在才了解到%vs em vs无单位线高度值的差异。埃里克·迈耶(Eric Meyer)在2006年描述了这个问题:这里有一个代码笔,它可以更直观地显示事物: