【问题标题】:Size of zero pixels in CSS with or without 'px' suffix? [duplicate]CSS中零像素的大小有或没有'px'后缀? [复制]
【发布时间】:2011-03-19 00:47:18
【问题描述】:

事实证明,在谷歌上搜索这个问题的答案很困难,所以我认为这里应该有人知道。

在 CSS 中,我看到零像素被简单地声明为“0”但也被声明为“0px”。

mystyle { width: 0; }

anotherstyle { width: 0px; }

“0”的小问题是,如果您将其更改为某个非零值,您可能会忘记添加“px”。并且在将值设为“0”时,您可能会忘记删除“px”。我希望我的代码保持纯粹的一致性,这样的小事会让我发疯。

这真的归结为个人偏好,比如在哪里缩进?

它们似乎都有效,但哪种方式更好,为什么?

谢谢。


为清楚起见进行编辑:

我写了“这样的小事让我发疯”

没有 0 的“px”不是我所指的。

让我抓狂的是,有两种不同的方法可以做同样简单的事情。

就个人而言,尽管忘记在适当的情况下添加/删除“px”这一小问题,但我会继续单独使用“0”,因为知道它与其他方式一样可以接受。

【问题讨论】:

  • “这真的取决于个人喜好吗”
  • 当直接赋值时,它们与链接问题“property: 0”与“property: 0px”相同。但是,当在 calc() 中使用时,它们不等价:'property: calc(1px + 0px)' 可以,而 property: calc(1px + 0)' 无效。
  • @vbraun IMO 您的观点至关重要,并且否定了使用 '0' 的任何论点 - 因为这些值可以放入 css 变量中,所以很难知道它们将在哪里使用,包括 calc( ),并且设置这样的变量可以是组件 API 的一部分,因此可以在与使用它的地方非常不同的地方发生 - 我们不想要求组件的用户必须查看内部结构才能看到'0' 是否可以接受。

标签: css size stylesheet pixel zero


【解决方案1】:

它们是相同的。

使用width: 0,因为它更短且更具可读性。

尤其是当你有,例如:

padding: 0px 0px 9px 8px

padding: 0 0 9px 8px

See the specs:

长度值的格式(表示为 在本规范中由 表示)是 一个 (带或不带小数 点)紧跟一个单位 标识符(例如 px、em 等)。 长度为零后,单位标识符是可选的。


'0' 的小问题是,如果 您将其更改为某个非零值, 您可能会忘记添加“px”。和 将值设为“0”时,您可以 忘记删除'px'

一旦你养成了写0而不带单位标识符的习惯,这种情况就不会发生。

【讨论】:

  • 谢谢。这真的不是问题,因为我对所有东西都使用“0”没有什么问题。我主要对“最佳”方式感到好奇。
  • "It drives me nuts that there are two different ways of doing the same simple thing." - 啊,我明白你现在在说什么了。听起来你喜欢0px 风格,但我现在明白了:)
  • +1 用于引用规范,而不是猜测或使用经验行为。
【解决方案2】:

我总是使用 0(不带单位),除非我想明确设置单位,因为它更短。重要的是要保持一致。

【讨论】:

    【解决方案3】:

    我认为 0 就是 0,不管你有什么。某物的 0% 与某物的 0 像素相同。我想……至少我是这么想的,乘法似乎同意我的看法。

    【讨论】:

    • 是的......从数学上讲,它非常有意义,但这并不总是转化为最佳编程实践。就个人而言,为此我更喜欢 '0' 本身。
    • @Sparky672:是的,就像你说的“喜欢”。我的主要观点是它们都是一样的。就编程意义而言,这在很大程度上(至少在这种情况下)是个人偏好。这也取决于情况(IMO)。如果有人在很大程度上使用像素值来设置整个网站的样式,那么单独使用 0 可能看起来不合适,或者如果使用大多数 % 设置样式也是如此。无论如何,是的,我同意你的看法。
    【解决方案4】:

    如果您在样式表中使用多种类型的 CSS 单位(%、em、inch...),则最好保留预期的单位(在您的情况下为 px)。

    附带说明,请记住关键字none 不一定重定向到0(即使在视觉上它具有相同的结果)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 2018-01-30
      • 2015-02-27
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多