为什么$(elem).height()以像素为单位返回高度?

时间:2012-05-16 12:45:41

标签: javascript jquery css

在我们执行$(elem).height().width()时的jquery中,为什么我们会以像素为单位进行测量 即如果elem height设置为200px,那么我们得到200
如果我们将elem高度设置为20%(比如它是200px)那么我们也得到200

4 个答案:

答案 0 :(得分:6)

来自jQuery documentation

  

.css('height')和.height()之间的区别在于后者返回无单位像素值(例如,400),而前者返回单位完整的值(例如,400px) 。

答案 1 :(得分:3)

这是最合理的返回单位 - 大多数其他单位是相对的(ems,百分比)。此外,它是浏览器内部处理维度的方式。

答案 2 :(得分:1)

这是因为width()height()返回计算宽度/高度(因为它是由浏览器计算的,以像素为单位),而不是您在css中设置的值(em%或其他)

答案 3 :(得分:1)

像素是衡量确切数量的标准方法。没有单位的任何数字都是没有意义的。如果我告诉你你的字体高度为20%,这对你意味着什么?没有。您需要知道它是pt,em还是px,它们是可用的绝对单位。像素是如何测量的黄金标准,因为其他像素与字体大小和其他考虑因素有关。