标签:
CSS盒模型是比较复杂的,尤其是当页面中有滚动条时,仅仅通过css来操作高度宽度是不够的,幸运的是Javascript提供了不少这样的接口。Javascript中clientHeight / cliengWidth, scrollHeight /scrollWidth, offsetHeight / offsetWidth, height / width 都可以获取高度和宽度,但是他们有一些细微的差别:
offsetHeight / offsetWidth:可见区域包含border,对于display:block的元素通过width/height + padding + border可以计算出来。clientHeight / cliengWidth:可见区域包含padding,不包含border和滚动条,不能通过CSS样式计算出来,取决于滚动条的大小。scrollHeight / scrollWidth:内容区域的大小,不包含border,包含不在可见区域内的隐藏部分,不能通过CSS样式计算出来。height / width:不包含border和padding。另外:滚动条的宽度可以通过如下方式计算:
scrollbarWidth = offsetWidth - clientWidth - getComputedStyle().borderLeftWidth - getComputedStyle().borderRightWidth
标签:
原文地址:http://www.cnblogs.com/shytong/p/5043573.html