平时写js的时候,有时候会遇到这样的状况,须要去计算元素或者屏幕的宽度,再进行不一样的处理,可是宽度真的有很多,很容易搞混,特此总结下,也但愿你们亲测下,这样比较有体会,记得牢固些。cli
一、scrollWidth:指的是元素的内容宽度,会随着内容撑大,不包边线宽度。scroll
二、clientWidth:指的是元素的可视区域的宽度,不会随着内容撑大,不包边线宽度,若是不出现横向滚动条,则等于scrollWidth,若是出现,则小于scrollWidth。总结
三、offectWidth:指的是元素的实际宽度,包含边线宽度,和CSS关系较大。滚动条
由上可知:滚动
元素出现横向滚动条,clientWidth < offectWidth < scrollWidth
元素不出现横向滚动条,clientWidth = scrollWidth < offectWidth
另外提下,window.screen.width计算屏幕宽度很方便。