offsetWidth;//元素的宽度(包括元素宽度、内边距和边框,不包括外边距)
clientWidth;//元素的宽度(包括元素宽度、内边距,不包括边框和外边距)
scrollWidth;//元素的宽度(包括元素宽度、内边距和溢出尺寸【会随对象中内容改变对象的实际宽度】,不包括边框和外边距),无溢出的情况,与clientWidth相同
style.width;//返回元素的宽度(包括元素宽度,不包括内边距、边框和外边距)
注意:offsetWidth(offsetHeight)与style.width(style.height)的区别
1. style.height 返回的是字符串,如28px,offsetWidth返回的是数值28;
2. style.width与scrollWidth是可读写的属性,clientWidth与offsetWidth是只读属性
3. 如对象的宽度设定值为百分比宽度,则无论页面变大还是变小,style.width都返回此百分比,而
offsetWidth 则返回在不同页面中对象的宽度值而不是百分比值;
4.如果没有给 HTML 元素指定过 width样式,则 style.width 返回的是空字符串;
总结:
1、通过style.width或者jQuery的$(divObj).width()获取/设置元素的宽高
2、若要获取元素包含边框的宽度,则可通过divObj.offsetWidth或jQuery的
$(divObj).outerWidth(false)获取
3、通过$(divObj).outerWidth(true)获取带外边距的宽度
4、通过$(divObj).innerWidth()获取不包含边框、不包含外边距的宽度
网友评论