虽然有API手册可以参考,不过我想很多小白用户也是懒得看手册的了,所以这里就用直接+简单的问题来说明一下这几个属性的数别吧。
在css的盒子模型中,最内部是content area,然后是padding、border、margin
那么width其实就是content area,
innerWidth = width + padding
outerWidth = innerWidth + border
不过,jQuery的outerWidth属性还可以传递一个参数,那么:
outerWidth(true) = outerWidth + margin
稍微有点基础的童鞋应该能很明了地看出来区别了吧。不过这个只是我简单测试的结果,没有做什么特别的测试。若有错误,请纠正。
同理,这个区别同样适用于height、innerHeight、outerHeight;而offset属性是计算到border的位置的哦~
dom属性中,clientWidth和offsetWidth的区别主要是:
1、clientWidth是可见内容的宽度,包含padding,不包括border和滚动条
2、offsetWidth比clientWidth多了border和滚动条
而scrollWidth比clientWidth多了不可见部分