跨度的“ScrollWidth”属性是否在Chrome上无效?

时间:2012-11-05 05:16:25

标签: javascript css google-chrome html

我的内部有一些文字。

document.getElementById('span1').scrollWidth;

在firefox上返回'100'作为scrollWidth但Chrome只返回'0'。 Chrome不支持此“scrollWidth”属性吗?任何其他不支持相同的浏览器?

如果我需要以像素为单位得到一个句子的长度,那还有什么可以解决这个问题?(我继续用'innerHTML'属性填充'span1'和句子)

1 个答案:

答案 0 :(得分:3)

Firefox和Chrome对css和js的响应有很多不同。 [ff = Firefox,c = Chrome,sw = scrollWidth]

关键点:

  1. sw仅在元素的display不是inlinenone时才有效。
    ff默认将display设置为block,而c将其设置为inline。 所以你不会得到sw。如果您需要隐藏元素,请使用:
    visibility:hidden没有为ff和c设置display
  2. 如果您在c中设置了visibility,请使用元素的style.width而不是sc。这有效。
  3. 如果您仍想在Chrome上使用sc也用于隐藏span,则可以使用 @AnthonyWJones回答

    Knowing how wide a text line will be in HTML for word wrap and other applications

    适用于IE7,8,9,FF,Chrome。