刚刚测试元素的offsetWidth和clientWidth发现问题:一个父div(设father),其内一个子div(设son);当只为son设置宽度且宽度大于浏览器窗口大小(即出现滚动条)时,father.clientWidth的值是son可见区域的大小;但是这时候如果再给father设置宽度(也大于浏览器窗口宽度)时,father.clientWidth始终就是father的宽度了,不是还有一部分不可见吗?
刚刚测试元素的offsetWidth和clientWidth发现问题:一个父div(设father),其内一个子div(设son);当只为son设置宽度且宽度大于浏览器窗口大小(即出现滚动条)时,father.clientWidth的值是son可见区域的大小;但是这时候如果再给father设置宽度(也大于浏览器窗口宽度)时,father.clientWidth始终就是father的宽度了,不是还有一部分不可见吗?
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
5 回答1.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
当只为son设置宽度且宽度大于浏览器窗口大小(即出现滚动条)时,father.clientWidth的值是son可见区域的大小,这个应该有误吧。应该还是father.clientWidth本身的值(差不多就是浏览器窗口的大小)
offsetWidth:对象自身的宽度(width+padding+border)
clientWidth: 获取对象可见内容的宽度,不包括滚动条,不包括边框
father的offsetWidth和clientWidth值是相对于father自身的。不可见不是指浏览器滚动条隐藏的部分,而是自身滚动条隐藏的部分。
看一个例子