offsetWidth、offsetHeight、clientWidth、clientHeight对比总结
offsetWidth // 返回元素的宽度(包括元素宽度、内边距、边框,不包括外边距)
offsetHeight // 返回元素的高度(包括元素高度、内边距、边框,不包括外边距)
clientWidth // 返回元素的宽度(包括元素宽度、内边距,不包括边框和外边距)
clientHeight // 返回元素的高度(包括元素高度、内边距,不包括边框和外边距)
style.width // 返回元素的宽度(包括元素宽度,不包括内边距、边框和外边距)
style.height // 返回元素的高度(包括元素高度,不包括内边距、边框和外边距)
scrollWidth // 返回元素的宽度(包括元素宽度、内边距、溢出尺寸,不包括边框和外边距),无溢出的情况,与clientWidth相同
scrollHeigh // 返回元素的高度(包括元素高度、内边距、溢出尺寸,不包括边框和外边距),无溢出的情况,与clientHeight相同
-
style.width 返回的是字符串,如28px,offsetWidth返回的是数值28;
-
style.width/style.height与scrollWidth/scrollHeight是可读写的属性,clientWidth/clientHeight与offsetWidth/offsetHeight是只读属性
-
style.width的值需要事先定义,否则取到的值为空。而且必须要定义在html里(内联样式),如果定义在css里,style.height的值仍然为空,但元素偏移有效;而offsetWidth则仍能取到。
参考
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步