jquery中height(),width()设置数值不正确

发布时间:2017-03-03 浏览次数:3965 文章来源:个人博客

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()并为包括边框。

key-word
box-sizing jq高度设置不正确 jq.height高度不正确 jq.height不对