丸められていない要素の幅を取得する方法をずっと探していました。これが必要な理由は、display inline-block で左にフロートされたいくつかの要素があり、コンテナ div の幅全体を使用するように、それらの要素内のテキストを自動サイズ変更しようとしているためです。私はこのようにやっています:
- 1 などの小さいテキスト サイズを選択します
- すべてのテキストをそのサイズにする
- すべての浮動要素の幅を合計します
- コンテナの幅よりも小さい場合は、フォント サイズを小さな値で増やします
- 最大サイズになるまで2~4を繰り返す
問題は、使用されていないスペースが常に残っていることです。これは、正確なサイズを取得するためにフォント サイズを少しずつ (0.01 など) 増やしているためだと思います。要素の幅は切り捨てのため変化しません。私はインクリメントし続けることができ、切り上げを決定し、合計幅が制限を超えるまで変化しません。これは、私が話していることを示す JSFiddle です。
JavaScript は少しわかりにくいかもしれませんが、基本的に時間を節約するために、フォントサイズの大きな増分から始めて、目標サイズに達すると、より正確になるように増分を小さくします。
私は使用してみました:
$(this).width()
parseFloat($(this).css("width"))
window.getComputedStyle
しかし、どれも機能していないようです。