ラップされている可能性のある動的 HTML 文字列を表示するのに十分な最小幅を決定する必要があります。span
ワードラップがなければ、これは簡単innerHTML
ですoffsetWidth
。ただし、改行を強制する方法がわかりません...最も簡単な不完全なアプローチは、すべてのスペースを で置き換えることですが<br/>
、行はスペースだけでなくハイフンなどでも折り返すことができます。
だから、基本的には、ブラウザにsthをレイアウトしてもらいたいのです。お気に入り
Max.
word-
wrapped
string
<----->
画面外のどこかで、含まれる最長の単語の幅を測定します。それを行う一般的な方法はありますか?
編集
つまり、改行がない場合:
function computeWidth (str) { // code to make it off-screen and caching omitted
var span = document.createElement ('span');
document.body.appendChild (span);
span.innerHTML = str;
return span.offsetWidth;
}
str
おそらく で遊んで、改行を強制する同様の関数をどのように記述しspan.style
ますか?