我应该在 jQuery 的 css 函数中将单位'px'添加到数值中吗?



以下有什么区别吗?

$(elem).css({ height : 100 })

$(elem).css({ height : 100+'px' })

我已经在谷歌上搜索了很长时间,我还没有找到答案。在jquery.com上有px和整数值的例子…浏览器或操作系统有区别吗?

jQuery自动将单位'px'(作为默认单位)添加到大多数css属性的所有数字中,包括"height":

见src/css.js

第221行
// If a number was passed in, add 'px' to the (except for certain CSS properties)
if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
    value += "px";
}

!jQuery.cssNumber[ origName ]不包含以下css属性:

  • columnCount
  • fillOpacity
  • fontWeight
  • lineHeight
  • 不透明度
  • 孤儿
  • 寡妇
  • zIndex
  • 变焦

(旁注:如果你像我一样一开始对排除"lineHeight"感到有点惊讶:没有单位的数字将与当前字体大小相乘以设置行高-因此当你指定/省略单位时,属性'line-height'会有所不同)

最新更新