之间有什么区别吗?
margin: 0;
和
margin: 0em;
我没有注意到任何事情,但我的老师一直告诉我这不一样。
答案 0 :(得分:37)
当值为0时没有区别。如果它是1和1em,是的,那就是差异,但0是0,无论单位是什么。
答案 1 :(得分:14)
使用0em文件更大。
向你的教授证明没有区别的方法是将某些内容设置为0,将其他内容设置为0em,并使用Firebug或类似工具检查DOM。如果我没记错的话,你会发现两者现在都是0.所以唯一的区别在于源头。 (但是自从我检查以来已经有一段时间了。我可能会考虑从jQuery中获取和设置样式。所以在你接受我的话之前先检查一下。)
答案 2 :(得分:8)
这就像说0香蕉和0苹果不一样。所以在某种程度上,他是正确的,但零是零,所以无论哪种方式,你最终都会感到饥饿!
答案 3 :(得分:6)
对于零长度,单位标识符是可选的
因此,即使Googles指南,WordPress指南,Microsoft WebMatrix以及可能的许多其他人都说你应该在使用零时省略该单元,但它实际上是允许的。所以这是个人偏好或者你自己的编码指南。
答案 4 :(得分:5)
我想知道老师是否试图突出显示,而不是0和0em不是相同的值,但也许,CSS中的默认单位可能不是em(我相信规范要求非零值具有单位附加但经常假设px)。
在具体的例子中,他们显然是平等的。
答案 5 :(得分:3)
零为零是零。无论单位是否不同。以像素为单位的派生值始终相同:零。
答案 6 :(得分:3)
你的老师看来是个白痴。
但也许外表具有欺骗性:你应该问你的老师他们的意思。
我不得不问,为什么你不问老师他们第一次说的时候是什么意思?零是零,无论单位是什么。
答案 7 :(得分:3)
在有或没有相关尺寸单位(em,px等)的'0'之间肯定存在差异。
虽然CSS在大多数情况下将“0”解释为没有单位大小作为该属性的默认零单位,但情况并非总是如此(例如,字体大小),并且一些验证器会反对属性当遇到没有包含该单元的参数时,需要在其规格中使用单位尺寸。
不同之处在于,没有单位指定的'0'可能被解释为需要单位大小的属性中的表达式错误。您可能没有注意到差异,因为表达式将被简单地视为“错误的语法”,并且解释器将跳过它;因为它通常与CSS中的任何错误语法一起使用。因此,如果您将“0”指定为单位大小且默认值为“0em”或“0%”等,则该属性的结果将保持为“0”。但是,如果您打算更改级联中的先前值,您会注意到它。 '0em'表示,'将先前值更改为'0em',但零可以简单地说,'忽略此规则'并保留先前的规则。这可能完全不是你想要的裸体'0'。
这是一个客户端进程,您无法控制特定浏览器现在或将来如何处理“0”和默认解释。
因此,除了告诉任何人读取你的代码时你肯定想要一个'0'大小的元素,以及适当的单位类型,它实际上可能会影响结果。最好始终将单位标识与零一起使用。如果你真的很挑剔(像我一样)或设计vls系统和代码(就像我一样),你也可能希望将前导零(0.xx ...)放在任何小于0的值中。这允许以后读者要知道你的分数是故意的而不仅仅是一个错字。
对于那些抱怨'额外打字'的人 - 我建议你去打字课。在面试设计师或编码员时,我做的第一件事就是给他们打字测试。没有什么能像一个好的打字员那样省钱并减少错误!
答案 8 :(得分:1)
你的老师很顽固,因为他或她不愿意承认自己错了。 'whatever:0'将所有可能的单位(继承或其他单位)设置为零。 0绝对是零。
答案 9 :(得分:1)
这已经被打死了但是这里......让我们看看#34;大狗"说出来。
除非需要,否则不要在0值之后使用单位
WordPress CSS样式指南同样说......
除非必要,否则0值不应具有单位,例如 过渡持续时间。
答案 10 :(得分:0)
0和0em是相同的,但x和xem的0以外的任何值都不相同。
答案 11 :(得分:-1)
谷歌自己的Chrome浏览器位于' Computed'样式包括零值的单位,与我个人的偏好一致,只包括它。
答案 12 :(得分:-1)
0
和0em
之间存在 IS !
它与transition
属性有关,但我相信这取决于正在更改的属性。例如,我认为应该没有差异,但是至少在line-height
的情况下,当值从其他值更改为0
时,将不会播放动画,但是当动画变为0em
可以正常工作。
这可能是一个错误,但是我在Firefox和Chromium中都遇到了相同的行为。