DOM中报告的奇怪宽度(0,当元素有宽度时)

时间:2011-09-02 15:13:54

标签: javascript css dom

我认为图像很好地解释了发生了什么。我知道这种情况发生在尚未加载的图像上..这个元素的宽度正在更改,但我需要宽度的函数被调用并随后提取宽度,通常是Web Inspector更新自己,所以...这里可能发生什么? (我正在尝试将一个元素的宽度应用到另一个元素,并且因为报告的宽度为0,所以第二个元素是不可见的。但它只在某些元素上执行此操作。

这些是内联元素,所以也许这就是原因?但显然有人在某处生成宽度,并且它正在使用具有相同js但不同css的其他内联元素。

enter image description here

1 个答案:

答案 0 :(得分:3)

带有“display:inline”的元素,例如<span><a>,不使用或具有宽度样式属性。如果将元素设置为“display:inline-block”,它将使用宽度样式属性。

element.offsetWidth将为您提供适当的宽度,但内联元素的“计算样式”将始终为0.内联元素具有自动宽度,因此应用的样式不起作用。