我试着计算一个div元素的offSetWidth,它有以下css属性:1)高度:500px 2)溢出:自动3)方向:rtl 4)框大小:边框
我在div中添加了更少的内容,这样div就不会显示任何滚动,并使用offSetWidth属性计算offSetWidth,结果是1302。然后我添加了更多的内容,这样浏览器就开始向div添加滚动条。我再次使用offSetWidth属性计算div中带有滚动条的offSetWidth。
结果又是1302,现在我想不出为什么div有滚动条和没有滚动条的时候,其offSetWidth是一样的。
请在这方面帮助我。提前谢谢
1条答案
按热度按时间pkwftd7m1#
即使滚动条不可见,它也可能包含在offsetWidth计算中。
要确认这一点,您可以尝试使用clientWidth属性,该属性返回元素内容区域的宽度,不包括填充,但包括滚动条(如果有)。如果clientWidth在您添加更多内容时发生更改,并且滚动条变为可见,则这将确认滚动条包含在offsetWidth计算中。
或者,您可以尝试使用scrollWidth属性,该属性返回元素内容区域的总宽度,包括当前由于溢出而隐藏的任何部分。如果scrollWidth大于clientWidth,则这将确认滚动条存在并且offsetWidth包括它。