首先我们来看一下正常样式和异常样式,正常样式的左侧菜单会正常显示出来,而异常样式的左侧菜单会被覆盖;
正常的样式:
异常的样式:
左边的间距其实跟通过读取最外层元素的offsetLeft来获取的;而最外层的元素和当前元素之间还嵌套这一些元素,而offsetLeft的值是获取它祖先级中第一个带position:relative就会停止向上查找了。
对比了一下正常样式和异常样式两种环境下访问的元素样式,发现第三方包antd的ant-modal-content样式中多了一个position: relative; 手动去掉之后就可以了,于是我们就怀疑是antd包的版本被改动了,还原antd包的版本之后,问题最终解决。