我有一个跨度,里面有一些文字。
document.getElementById('span1').scrollWidth;
在 Firefox 上返回“100”作为滚动宽度,但 Chrome 只返回“0”。Chrome 不支持这个“scrollWidth”属性吗?任何其他不支持相同的浏览器?
如果我需要以像素为单位获取句子的长度,还有什么办法解决这个问题?(我一直使用“innerHTML”属性填充“span1”)
我有一个跨度,里面有一些文字。
document.getElementById('span1').scrollWidth;
在 Firefox 上返回“100”作为滚动宽度,但 Chrome 只返回“0”。Chrome 不支持这个“scrollWidth”属性吗?任何其他不支持相同的浏览器?
如果我需要以像素为单位获取句子的长度,还有什么办法解决这个问题?(我一直使用“innerHTML”属性填充“span1”)
Firefox 和 Chrome 对 css 和 js 的响应方式有很大不同。[ff=Firefox,c=Chrome,sw=scrollWidth]
关键点:
display
is notinline
和时有效none
。display
为block
,而 c 将其设置为inline
。所以你不会在c中得到sw。如果您无论如何都需要隐藏元素,只需使用:visibility:hidden
而不display
为 ff 和 c 设置。 visibility
在 c 中设置了,使用style.width
元素而不是 sc。这行得通。 如果您仍然想在 chrome 上使用 sc 也可以隐藏span
,您可以使用@AnthonyWJones 回答
适用于 IE7、8、9、FF、Chrome。