你知道知道如何宽将是一个文本行,所以你可以打破它正好适合固定宽度的良好的跨浏览器的方式?
假设你想打破长的文字,像这样它不会溢出固定宽度的容器,但你要行打破了最靠近边界可能,所以猜测在何处插入s不是一个干净的解决方案。
我要调查,我想这可能有一种无形的div然后打印它里面的线和检查div的宽度,或类似的东西,使用JavaScript来完成。
有没有人做过这样的事情?
*(焦点不自动换行,这只是现在我脑海中的应用,但我们知道,一个文本的宽度我想要什么)
你知道知道如何宽将是一个文本行,所以你可以打破它正好适合固定宽度的良好的跨浏览器的方式?
假设你想打破长的文字,像这样它不会溢出固定宽度的容器,但你要行打破了最靠近边界可能,所以猜测在何处插入s不是一个干净的解决方案。
我要调查,我想这可能有一种无形的div然后打印它里面的线和检查div的宽度,或类似的东西,使用JavaScript来完成。
有没有人做过这样的事情?
*(焦点不自动换行,这只是现在我脑海中的应用,但我们知道,一个文本的宽度我想要什么)
这是一个完整的“荒地鲁宾逊”(这是否参考旅行呢?)的办法。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript">
function txtContent_onchange()
{
var span = document.getElementById("spanMeasure")
span.innerHTML = "";
span.appendChild(document.createTextNode(this.value));
document.getElementById("txtWidth").value = span.scrollWidth;
}
</script>
<style type="text/css">
#spanMeasure
{
position:absolute;
top:0px;
left:0px;
visibility:hidden;
width:10px;
white-space:nowrap;
overflow:hidden
}
</style>
</head>
<body>
<input id="txtContent" onchange="txtContent_onchange.call(this)" /><br />
<input id="txtWidth" />
<span id="spanMeasure"><span>
</body>
</html>
这里的关键就是span元素的配置。 此元素不会影响页面的视觉外观。 它scrollWidth属性将返回它所包含的文本的长度。 当然,你需要设置任何字体样式属性得到一个合理的值。
据怪异模式网站歌剧可能是有点片状这种方法,但我怀疑它,你会得到一个全面的跨浏览器解决方案最接近。