Non-Profit, International

Spirit unsterblich.

一个 Chrome 的 Bug

字数统计:217 blog

从任意文章页使用超链接跳转到分类页,使用 window.getComputedStyle(container, null).getPropertyValue("margin-left"); 获取到默认值 0px。

滑动到顶部该问题消失。

container 的 margin-left 属性的值是 margin:auto 分配的,window.getComputedStyle 用于获取值。

UpHMuD.jpg

element.propertyName 获取到元素的 被赋予的属性的值 不同, window.getComputedStyle 获取到的值是元素实际拥有的值(不会因 CSS 的 filter 改变)。

由于我是为了让导航栏自适应页面两侧的留白,本身就是通过获取 main-container 的 margin-left 得到,所以改用 container.offsetLeft 获取 main-container 距离窗口左侧的距离便可以解决这个问题。

注意,container.offsetLeft 和上述两种方法的最大区别在于 offsetLeft 给出的值的数据类型是 BigInt (整数,无单位),而前两者给出 Value。

虽然实际上三者读取到的值的单位都为 px。


若无特殊声明,本人原创文章以 CC BY-SA 3.0 许可协议 提供。