jquery中height(),width()设置数值不正确,实际值总比设置值多一些,而用css()却正确。
情况大致是这样:
需要设置一个元素的高度,用$("p").height(400);这样设置,结果得到的却是402px这个高度,而用$("p").css("height",400);这个,就能设置高度400px;
初步怀疑是因为jq版本问题,因为在1.7.x之前,$("p“).height(400);是没问题,而在1.8.0以后,高度就增加了。
多方验证后发现,并非版本问题,而是css的问题:
box-sizing: border-box;
这个css语句,使得$().height()与$().css("height")出现了2个不同的值,
因为box-sizing的设置,使得$().height()包括了边框,而$().css()并为包括边框。