有谁知道为什么包含文本“ABC”的跨度宽度返回 0。
1) 仅在 Firefox 中发生。 2)如果我删除中间的跨度,它就可以正常工作。 (http://jsfiddle.net/3BFGU/30/)
最佳答案
不知道为什么 - 这可能是一个错误;然而,...
默认情况下,Span 不应具有任何宽度属性,当然它们最终会在浏览器呈现后具有任何宽度属性。你可以做的就是让它们成为 block 状元素,这应该可以解决这个问题:
span { display:inline-block; }
编辑:
其他有趣的事情是,如果您删除 ABC 范围与其包装器之间的所有空白,它将正常工作。这可能与空白和换行有关。浏览器可能无法给出宽度,因为容器可能从一行开始并在另一行结束。这也许可以解释为什么将其设为 block 可以修复它,因为将容器设为 block 可能会将整个容器保持在一起。
关于javascript - Jquery width $(el).width() 似乎在这里失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12612439/