2

その中にいくつかのテキストを含むスパンがあります。

document.getElementById('span1').scrollWidth;

Firefox では scrollWidth として「100」が返されますが、Chrome では「0」のみが返されます。Chrome はこの「scrollWidth」プロパティをサポートしていませんか? 同じものをサポートしていない他のブラウザはありますか?

また、文の長さをピクセル単位で取得する必要がある場合、これを回避するにはどうすればよいでしょうか?(「innerHTML」プロパティを使用して「span1」に文を入力し続けます)

4

1 に答える 1

2

css と js に対する Firefox と Chrome の応答方法には多くの違いがあります。[ff=Firefox、c=Chrome、sw=スクロール幅]

キーポイント:

  1. sw は、要素のdisplayis not inlineandの場合にのみ機能しnoneます。
    ff はデフォルトで を に設定displayblock、c は に設定しますinline。したがって、c では sw を取得できません。とにかく要素を非表示にする必要がある場合は、ff と c の両方
    visibility:hiddenを設定せずに: を使用します。display
  2. visibilityc でthe を設定した場合style.widthは、sc の代わりに要素を使用します。これは機能します。

sc on chrome を hiddenspanにも使用したい場合は、 @AnthonyWJones answer on を使用できます

ワードラップやその他のアプリケーション用に HTML でテキスト行がどのくらいの幅になるかを知る

IE7,8,9、FF、Chrome で動作しました。

于 2012-11-05T07:02:09.343 に答える