似乎我可以创建一个包含字符串的空DOM元素,将不透明度设置为零,显示它,然后测量元素的宽度,但这看起来真的很糟糕。我想知道是否有更好的方法。有任何想法吗?
编辑:渲染到屏幕时我需要以像素为单位的宽度,而不是字符数:)
答案 0 :(得分:3)
你的意思是像素宽度?不,没有简单的方法可以在没有浏览器渲染的情况下在Javascript中预测它。这在很大程度上取决于浏览器选择的字体,字体大小(如果设置为百分比或em,可能会受到继承的影响),字母间距,元素填充等等。
您建议的在浏览器中呈现它的解决方案,即使是零不透明度或visibility:hidden
(感谢评论者),这是我认为最好的方法。