1

スケール変換と組み合わせた offsetHeight の奇妙な結果が得られました。以下のような私の単純なHTML

  <body>
    <div id="id01">
      Some Text
    </div>
    <div id="id02" style="transform-origin: left top; transform: scale(2)">
      Some Text
    </div>
  </body>

  <script>
    var elem01 = document.getElementById('id01');
    var elem02 = document.getElementById('id02');
    alert(elem01.offsetHeight == elem02.offsetHeight);   // Always show true???
  </script>

画面上では、2 番目<div>は最初の よりも大きく (2 倍) なってい<div>ます。したがって、 second<div>の offsetHeight は最初のものよりも大きくなければならないと予想しました。

私の質問は:この場合、なぜelem01.offsetHeight常に等しいのですか? ブラウザは、要素の?を計算するためにelem02.offsetHeight使用しません。transformoffsetHeight

ありがとう

4

1 に答える 1

1

変換は、DOM 内の実際のピクセル数ではなく、ピクセル比率に影響します。

この前の質問には、いくつかの洞察と考えられる解決策があります。

于 2013-09-19T16:39:09.493 に答える