我需要确定足以显示可能包装的动态 HTML 字符串的最小宽度。没有自动换行,这很简单:创建 a span
,设置它innerHTML
并读取offsetWidth
。但是,我不确定如何强制换行...我看到的最简单的不完整方法是将所有空格替换为<br/>
,但行不仅可以换行,还可以换行,例如连字符。
所以,基本上,我想要一个浏览器来布局某事。喜欢
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
?