offsetWidth、offsetHeight、clientHeight、clientWidth、scrollHeight、scrollWidth详细对比
代码测试
box-sizing:content-box
时
box-sizing:border-box
时
总结
- offsetHeight、offsetWidth其实就是元素在屏幕上所占的实际宽高(包括border、padding)
- 公式:offsetHeight = border + padding + content
box-sizing:content-box
时- offsetHeight = 2+10+100 = 112
box-sizing:border-box
时- offsetHeight = 2+10+88= 100
- clientHeight、clientWidth是 padding+conent-滚动条宽度,就拿上述例子来说
- 公式:clientHeight = padding + conent - 滚动条宽度
box-sizing:content-box
时- content高度就是我们设置的宽高,都是100
- clientHeight = 10+100-17 = 93
box-sizing:border-box
时,- content高度是我们设置的宽高 - padding - border = 100 - 10 - 2 = 88
- clientHeight = 10+88-17 = 81
- scrollHeight、scrollWidth是 padding + 实际内容尺寸
- 出现滚动条时,实际内容尺寸,就是假设没有滚动条,把内容全部铺开的尺寸(注意这里是实际占屏幕的尺寸),这个例子里就是inner元素的尺寸了
- 公式:scrollHeight = padding + 实际内容尺寸
box-sizing:content-box
时- scrollHeight = 10+200 = 210
box-sizing:border-box
时- scrollHeight = 10+200= 210